trang chủ / bài tập / hideseek

Trốn Tìm

Đề bài

Mô tả

Victor và Peter đang chơi trốn tìm. Peter đã trốn, còn Victor đứng yên tại chỗ và muốn biết liệu có thể nhìn thấy Peter hay không.

Trong phòng có đúng một bức tường mờ (không cho ánh sáng đi qua) và một tấm gương hai mặt. Victor là điểm có toạ độ (xv,yv), Peter là điểm (xp,yp). Tường là đoạn thẳng nối (xw,1,yw,1) với (xw,2,yw,2), gương là đoạn thẳng nối (xm,1,ym,1) với (xm,2,ym,2).

Quy tắc nhìn:

  • Nếu một vật cản (tường hoặc gương) có điểm chung với đường ngắm, thì coi như hai người không thể nhìn thấy nhau qua đường ngắm đó.
  • Nếu đường ngắm chạm vào gương, thì coi như xảy ra phản xạ: hai người nhìn thấy nhau qua gương. Phản xạ tuân theo định luật vật lý — góc tới bằng góc phản xạ, và tia tới cùng tia phản xạ phải nằm cùng một nửa mặt phẳng so với đường thẳng chứa gương. Nói cách khác, để nhìn thấy nhau qua gương, Victor và Peter phải nằm cùng phía so với đường thẳng chứa gương.
  • Nếu đường ngắm song song với gương thì không xảy ra phản xạ, và gương không được coi là vật cản trong trường hợp này.
  • Khi nhìn qua gương, đường đi của ánh sáng gồm hai đoạn (từ Victor tới điểm phản xạ trên gương, rồi từ điểm phản xạ tới Peter). Nếu một trong hai đoạn này bị tường chắn thì coi như không nhìn thấy.

Hãy xác định Victor có nhìn thấy Peter từ vị trí ban đầu hay không (trực tiếp hoặc qua gương).

Dữ liệu vào

  • Dòng 1: hai số nguyên xv, yv — toạ độ Victor.
  • Dòng 2: hai số nguyên xp, yp — toạ độ Peter.
  • Dòng 3: bốn số nguyên xw,1,yw,1,xw,2,yw,2 — hai đầu của tường.
  • Dòng 4: bốn số nguyên xm,1,ym,1,xm,2,ym,2 — hai đầu của gương.

Dữ liệu ra

In ra YES nếu Victor nhìn thấy Peter, ngược lại in ra NO.

Ràng buộc

  • Tất cả các toạ độ là số nguyên có trị tuyệt đối không vượt quá 104.
  • Hai đoạn thẳng (tường và gương) không có điểm chung.
  • Victor và Peter không nằm trên bất kỳ đoạn thẳng nào.
  • Toạ độ của Victor và Peter khác nhau.
  • Các đoạn thẳng không suy biến thành điểm.

Ví dụ

Input Output Giải thích
0 0
10 0
100 100 101 101
1 0 3 0
YES Đường ngắm trực tiếp VP song song với gương nên gương không chắn; tường ở xa.
-1 3
1 3
0 2 0 4
0 0 0 1
NO Đường ngắm trực tiếp bị tường chắn; Victor và Peter ở khác phía gương nên không thể phản xạ.
0 0
1 1
0 1 1 0
-1 1 1 3
YES Đường ngắm trực tiếp bị tường chắn, nhưng phản xạ qua gương cho ánh sáng từ Victor tới Peter mà không bị tường cản.
0 0
2 0
1 1 1 -1
0 2 2 2
YES Tường thẳng đứng chắn đường nhìn trực tiếp tại (1,0); nhờ gương phía trên, phản xạ tại (1,2) cho phép nhìn thấy nhau.

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