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

Thành phố Tablecity

Đề bài

Mô tả

Thành phố Tablecity là một lưới 1000×2, mỗi ô là một khu phố mang tên (X,Y) với 1X10001Y2.

Có một tên trộm đang lẩn trốn trong thành phố. Ở thời điểm ban đầu (giờ thứ 1), tên trộm có thể ở bất kỳ ô nào trong lưới. Mỗi giờ trôi qua, sau khi cảnh sát điều tra xong, tên trộm sẽ rời khu phố (X,Y) hiện tại và di chuyển sang đúng một trong các khu phố sau (miễn là khu phố đó nằm trong thành phố):

(X1,Y), (X+1,Y), (X1,Y1), (X1,Y+1), (X+1,Y1), (X+1,Y+1).

Nói cách khác, hoành độ X luôn đổi ±1, còn tung độ Y có thể đổi 1, 0 hoặc +1.

Cảnh sát trưởng Albert có đủ người để mỗi giờ kiểm tra đúng hai khu phố. Nếu trong giờ đó tên trộm đang ở một trong hai khu phố bị kiểm tra thì hắn bị bắt.

Albert đã hứa với Tổng thống rằng sẽ bắt được tên trộm trong không quá 2015 giờ. Hãy giúp Albert lập kế hoạch điều tra đảm bảo bắt được tên trộm, bất kể vị trí ban đầu và chiến lược di chuyển của hắn.

Dữ liệu vào

Không có dữ liệu vào.

Dữ liệu ra

Dòng đầu in số nguyên N — số giờ cảnh sát điều tra (0N2015).

Trong N dòng tiếp theo, dòng thứ i chứa 4 số nguyên Xi,1 Yi,1 Xi,2 Yi,2 là toạ độ hai khu phố mà cảnh sát kiểm tra trong giờ thứ i (theo thứ tự thời gian). Cần đảm bảo 1X10001Y2.

Kế hoạch của bạn phải đảm bảo: với mọi vị trí ban đầu của tên trộm và mọi cách di chuyển hợp lệ của hắn, tên trộm sẽ bị bắt trong vòng N giờ.

Bài có nhiều đáp án hợp lệ. Bộ chấm sẽ mô phỏng tên trộm theo hướng bất lợi nhất để xác nhận kế hoạch của bạn có đảm bảo bắt được hay không.

Ràng buộc

  • 0N2015
  • 1X1000, 1Y2 cho mọi toạ độ kiểm tra.

Ví dụ

Input Output Giải thích
(trống) 2
5 1 50 2
8 1 80 2
Đây không phải đáp án đúng, chỉ minh hoạ định dạng. Nếu tên trộm ban đầu ở (1,1) rồi di chuyển sang (2,2) thì cảnh sát không bắt được.
(trống) 2000
1 1 1 2
2 1 2 2
...
1000 1 1000 2
1000 1 1000 2
...
1 1 1 2
Quét cột 1,2,,1000 rồi quét ngược lại 1000,999,,1 là một cách hợp lệ.

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