USACO 2012 - Symmetry

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2100 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Sau khi tham gia một lớp nghệ thuật hiện đại, Farmer John bắt đầu thích thú với việc tìm kiếm các mẫu hình học trong mọi thứ xung quanh trang trại. Ông cẩn thận đánh dấu vị trí của \(N\) con bò (\(2 \leq N \leq 1000\)), mỗi con nằm tại một điểm phân biệt trên mặt phẳng hai chiều, rồi tự hỏi tập điểm này có bao nhiêu trục đối xứng khác nhau. Dĩ nhiên, một trục đối xứng là một đường thẳng mà qua đó, các điểm ở hai phía là ảnh phản chiếu của nhau.

Hãy giúp FJ trả lời câu hỏi hình học vô cùng cấp thiết này.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên \(N\).
  • \(N\) dòng tiếp theo: dòng thứ \(i+1\) chứa hai số nguyên cách nhau bởi dấu cách, biểu diễn tọa độ \(x\)\(y\) của con bò thứ \(i\) (\(-10\,000 \leq x, y \leq 10\,000\)).

Dữ liệu ra

In ra số trục đối xứng khác nhau của tập điểm.

Ví dụ

Ví dụ 1

Input
4
0 0
0 1
1 0
1 1
Output
4
Giải thích

Bốn con bò nằm tại bốn đỉnh của một hình vuông.

Có 4 trục đối xứng: một trục dọc, một trục ngang và hai đường chéo.

Nguồn

USACO 2012 February Contest, Gold Division — Symmetry. Tác giả đề: Brian Dean (2012).

https://usaco.org/index.php?page=viewproblem2&cpid=119

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: