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

Đi Bộ Manhattan

Đề bài

Mô tả

  • Q con bò của bác John đã trốn thoát ở Manhattan và đi bộ theo các quy tắc nhất định. Manhattan có N con đường chạy theo phương ngang hoặc dọc, mô tả bằng y=ci hoặc x=ci.

Quy tắc di chuyển:

  • Bò di chuyển về phía bắc (+y) hoặc phía đông (+x) với tốc độ 1 đơn vị/giây.
  • Trên một con đường đơn lẻ: bò tiếp tục theo hướng của con đường đó (ngang = đông, dọc = bắc).
  • Tại ngã tư (giao của đường ngang và dọc): đi về phía bắc nếu số giây đã đi là chẵn, đi về phía đông nếu lẻ.
  • Không trên đường nào: dùng quy tắc chẵn/lẻ như tại ngã tư.

Cho vị trí ban đầu và thời gian đã đi của mỗi con bò, hãy tìm vị trí hiện tại của chúng.

Dữ liệu vào

  • Dòng đầu tiên: hai số nguyên NQ (1N,Q2×105).
  • N dòng tiếp theo: ký tự d (H hoặc V) và số nguyên ci (0ci109) - mô tả đường.
  • Q dòng tiếp theo: ba số nguyên xi, yi, di (0xi,yi,di109) - vị trí bắt đầu và số giây đã đi.

Dữ liệu ra

  • Q dòng, mỗi dòng chứa hai số nguyên - vị trí hiện tại (x,y) của mỗi con bò.

Ràng buộc

  • 1N,Q2×105
  • 0ci,xi,yi,di109

Ví dụ

Input Output Giải thích
4 5
V 7
H 4
H 5
V 6
6 3 10
6 4 10
6 5 10
6 6 10
100 4 10
14 5
7 13
6 15
6 16
110 4
Bò 1: (6,3) -> di chuyển 10 giây -> (14,5).
Bò 5: (100,4) trên đường H4, đi đông 10 bước -> (110,4).

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