trang chủ / đề bài / hcm_tst_23_a

Đường tròn tâm O

Đề bài

Mô tả

Cho N điểm trên mặt phẳng tọa độ Oxy, điểm thứ i (1≤i≤N) có tọa độ là (xi;yi).

Yêu cầu: Hãy viết chương trình xác định số lượng lớn nhất các điểm cùng nằm trên một đường tròn nào đó có tâm là gốc tọa độ O của hệ trục tọa độ.

Các điểm trùng tọa độ được đếm riêng (mỗi điểm được tính một lần). Đường tròn có bán kính dương, vì vậy điểm trùng với gốc tọa độ O(0;0) không nằm trên đường tròn nào; nếu mọi điểm đều trùng với O thì đáp án là 0.

Dữ liệu vào

  • Dòng thứ nhất chứa số nguyên N (1≤N≤105).
  • Trên N dòng tiếp theo, dòng thứ i chứa 2 số nguyên xi,yi cho biết tọa độ của điểm thứ i. Các số nguyên này có giá trị tuyệt đối không vượt quá 104. Các số cách nhau bởi ít nhất một khoảng trắng. Tọa độ của các điểm có thể trùng nhau.

Dữ liệu ra

In ra một số nguyên là số lượng lớn nhất các điểm cùng nằm trên một đường tròn có tâm là gốc O.

Ràng buộc

  • 1≤N≤105.
  • |xi|,|yi|≤104.

Subtasks

  • Subtask 1 (30% số điểm): 1≤N≤1000.
  • Subtask 2 (30% số điểm): tọa độ các điểm có giá trị tuyệt đối không vượt quá 100.
  • Subtask 3 (40% số điểm): 1000<N≤105.

Ví dụ

Input Output Giải thích
8
-2 0
1 -1
3 1
1 1
3 3
1 3
-1 3
3 1
4 Gọi các điểm theo thứ tự là A,B,C,D,E,F,G,H. Có 4 điểm cùng nằm trên đường tròn tâm O bán kính 10 là: C(3;1), F(1;3), G(−1;3) và H(3;1) (điểm C và H trùng tọa độ nhưng được đếm riêng). Có thể kiểm tra được đây là số lượng lớn nhất các điểm cùng nằm trên một đường tròn tâm O.
6
0 0
0 0
0 0
5 0
-3 4
1 1
2 Ví dụ bổ sung. Ba điểm trùng gốc O không nằm trên đường tròn nào. Hai điểm (5;0) và (−3;4) nằm trên đường tròn tâm O bán kính 5.
2
0 0
0 0
0 Ví dụ bổ sung: mọi điểm đều trùng gốc O nên đáp án là 0.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0