Chạy trốn trên Beaveractor

Đề bài

Mô tả

Khuôn viên là một hình vuông kích thước b×b trên mặt phẳng: mọi điểm (x,y) với 0x,yb đều thuộc khuôn viên.

Trong khuôn viên có n mũi tên, mỗi mũi tên song song với một trong hai trục toạ độ. Các mũi tên đôi một không có điểm chung. Một cỗ máy di chuyển với vận tốc một đơn vị dài trên một đơn vị thời gian. Khi cỗ máy tới một điểm nằm trên một mũi tên nào đó, nó lập tức quay theo hướng của mũi tên đó rồi tiếp tục đi thẳng, cho tới khi lại gặp một mũi tên khác hoặc ra khỏi khuôn viên.

Cho q truy vấn. Mỗi truy vấn gồm vị trí ban đầu (x,y), hướng đi ban đầu w (một trong U, D, L, R, tương ứng lên, xuống, sang trái, sang phải; trục Oy hướng lên trên) và thời gian t đã trôi qua. Với mỗi truy vấn, hãy xác định vị trí của cỗ máy sau đúng t đơn vị thời gian.

Nếu cỗ máy đã ra khỏi khuôn viên trước thời điểm t, hãy in ra toạ độ của điểm cuối cùng thuộc khuôn viên mà nó đi qua.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nb.
  • n dòng tiếp theo, mỗi dòng chứa bốn số nguyên x0,y0,x1,y1 là điểm đầu và điểm cuối của một mũi tên (mũi tên hướng từ (x0,y0) tới (x1,y1)). Mọi mũi tên song song với trục toạ độ, nằm hoàn toàn trong khuôn viên và đôi một không có điểm chung.
  • Dòng tiếp theo chứa số nguyên q.
  • q dòng tiếp theo, mỗi dòng chứa hai số nguyên x,y, một ký tự w{U,D,L,R} và một số nguyên t.

Dữ liệu ra

In ra q dòng. Dòng thứ i chứa hai số nguyên là toạ độ của cỗ máy tại thời điểm cuối trong truy vấn thứ i.

Ràng buộc

  • 0n30, 1b30.
  • 0x0,y0,x1,y1b.
  • 1q105.
  • 0x,yb0t1015.

Ví dụ

Input Output Giải thích
3 3
0 0 0 1
0 2 2 2
3 3 2 3
12
0 0 L 0
0 0 L 1
0 0 L 2
0 0 L 3
0 0 L 4
0 0 L 5
0 0 L 6
2 0 U 2
2 0 U 3
3 0 U 5
1 3 D 2
1 3 R 2
0 0
0 1
0 2
1 2
2 2
3 2
3 2
2 2
3 2
1 3
2 2
1 3
Ở truy vấn "0 0 L 3": điểm (0,0) nằm trên mũi tên hướng lên, nên dù hướng ban đầu là L cỗ máy vẫn quay lên, đi tới (0,2) rồi gặp mũi tên hướng sang phải và tới (1,2). Ở truy vấn "0 0 L 6", cỗ máy tới (3,2) rồi bước tiếp sẽ ra khỏi khuôn viên, nên điểm cuối trong khuôn viên là (3,2).
1 10
1 5 9 5
1
5 5 L 1
6 5 Điểm (5,5) nằm trên mũi tên hướng sang phải nên cỗ máy quay sang phải và sau 1 đơn vị thời gian tới (6,5).

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