USACO 2014 - Cow Optics

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: 2300 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Những cô bò của Farmer John muốn tổ chức một bữa tiệc khiêu vũ trong chuồng, kèm theo một màn trình diễn ánh sáng laser. Không may, chiếc laser duy nhất còn hoạt động mà chúng tìm được lại nằm cách chuồng rất xa và quá nặng để di chuyển, nên chúng dự định dùng một dãy gương để chuyển hướng tia laser tới chuồng.

Trên sơ đồ trang trại, laser nằm tại vị trí \((0,0)\) và chiếu về phía bắc, tức theo chiều dương của trục \(y\); chuồng nằm tại \((Bx,By)\). Có thể coi cả laser và chuồng là các điểm trên mặt phẳng hai chiều. Đã có \(N\) con bò (\(1 \le N \le 100\,000\)) đứng rải rác khắp trang trại, mỗi con cầm một chiếc gương tạo với các trục tọa độ góc \(45\) độ. Chẳng hạn, một chiếc gương có hướng \ sẽ phản xạ một tia sáng đi vào từ phía dưới sang bên trái. Các gương cũng được coi là nằm tại các điểm trên mặt phẳng hai chiều.

Ngay trước khi nhấn chiếc nút lớn màu đỏ để kích hoạt laser, Bessie nhận ra một thiếu sót nghiêm trọng trong kế hoạch: với cấu hình gương hiện tại, tia laser không thể chiếu tới chuồng! Vì vậy, cô dự định chạy ra cánh đồng và cầm thêm đúng một chiếc gương, cũng được đặt nghiêng một góc \(45\) độ, để chuyển hướng tia laser vào chuồng. Hãy đếm số vị trí trên cánh đồng mà Bessie có thể đứng để đạt được mục tiêu này.

Mọi tọa độ đều là số nguyên nằm trong đoạn từ \(-1\,000\,000\,000\) đến \(1\,000\,000\,000\). Bảo đảm mọi chiếc gương có thể được đặt thêm cũng nằm trong phạm vi này. Những cô bò vận hành laser yêu cầu tia sáng không bao giờ quay lại \((0,0)\) sau khi rời vị trí này; với cấu hình gương ban đầu, bảo đảm điều đó không xảy ra. Không có hai con bò nào đứng cùng một điểm, và Bessie không được đứng cùng vị trí với một con bò đã có mặt.

Dữ liệu vào

  • Dòng đầu tiên chứa ba số nguyên \(N\), \(Bx\)\(By\).
  • \(N\) dòng tiếp theo, dòng thứ \(i\) mô tả chiếc gương thứ \(i\) bằng ba phần: tọa độ \((x,y)\) và hướng của gương, là \ hoặc /.

Ràng buộc

  • \(1 \le N \le 100\,000\).
  • Mọi tọa độ là số nguyên trong đoạn từ \(-1\,000\,000\,000\) đến \(1\,000\,000\,000\).
  • Không có hai con bò nào đứng cùng một điểm; Bessie không được đứng tại vị trí của một con bò đã có mặt.
  • Tia sáng không được quay lại \((0,0)\) sau khi rời vị trí này; với cấu hình gương ban đầu, bảo đảm điều đó không xảy ra.

Dữ liệu ra

  • In ra một số nguyên duy nhất là số vị trí mà Bessie có thể đứng để chuyển hướng tia laser tới chuồng.

Ví dụ

Ví dụ 1

Input
4 1 2
-2 1 \
2 1 /
2 2 \
-2 2 /
Output
2
Giải thích

Một chiếc gương đặt tại \((0,1)\) hoặc \((0,2)\), theo một trong hai hướng, đều có thể hoàn thành mục tiêu.

Nguồn

USACO 2014 US Open, Gold — Problem 2: Cow Optics

Tác giả đề: Brian Dean, 2014.

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: