Gương Phản Chiếu

Đề bài

Mô tả

Cho N gương phẳng đặt tại các vị trí nguyên trên mặt phẳng tọa độ. Mỗi gương nằm ở vị trí (xi,yi) và có hướng là "/" hoặc "\" (nghiêng 45 độ). Một tia sáng xuất phát từ điểm (0,0) theo hướng sang phải (hướng Đông). Khi gặp gương, tia sáng phản chiếu theo quy tắc:

  • Gương "/": Tia từ Đông → Bắc, từ Tây → Nam, từ Bắc → Đông, từ Nam → Tây
  • Gương "\": Tia từ Đông → Nam, từ Tây → Bắc, từ Bắc → Tây, từ Nam → Đông

Mục tiêu là tia sáng cần đến điểm (a,b). Biết rằng chính xác một gương có thể đang đặt sai hướng (hoặc tất cả đều đúng). Hãy tìm chỉ số của gương cần đổi hướng (từ "/" thành "\" hoặc ngược lại) để tia sáng đến được (a,b).

Dữ liệu vào

  • Dòng 1: Ba số nguyên N, a, b
  • Dòng 2 đến N+1: Mỗi dòng gồm xi, yi và ký tự "/" hoặc "\" mô tả gương thứ i

Dữ liệu ra

  • In ra chỉ số (1-indexed) của gương cần đổi hướng
  • In ra 0 nếu tia sáng đã đến đích mà không cần thay đổi gương nào
  • In ra 1 nếu không thể đạt được dù thay đổi bất kỳ một gương nào

Ràng buộc

  • 1N200
  • 106xi,yi,a,b106
  • Không có gương nào tại (0,0) hoặc (a,b)

Ví dụ

Input Output Giải thích
5 6 2
3 0 /
0 2 /
1 2 /
3 2 <br>1 3 \
4 Đổi gương 4 từ "\" thành "/" thì tia sáng đến được (6,2)
6 4 -2
2 0 /
2 2 <br>4 2 <br>2 -2 <br>-2 2 /
-2 0 \
1 Đổi gương 1 từ "/" thành "\" thì tia sáng đến được (4,-2)

Ghi chú

Tia sáng đi theo đường thẳng giữa các gương. Nếu tia sáng ra khỏi giới hạn tọa độ hoặc đi vào vòng lặp vô hạn mà không đến đích thì coi là thất bại.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0