Đường đi và những chú mèo

Đề bài

Mô tả

Cho một bảng gồm n hàng và m cột. Ô ở hàng r, cột c được ký hiệu là (r,c). Một quân cờ xuất phát từ ô (1,1) tại thời điểm 1.

Tại mỗi đơn vị thời gian, từ ô (r,c) quân cờ có thể di chuyển sang một trong bốn ô kề cạnh (r1,c), (r+1,c), (r,c1), (r,c+1) (nếu ô đó nằm trong bảng), hoặc đứng yên tại ô hiện tại. Mỗi lần di chuyển (hoặc đứng yên) mất đúng 1 đơn vị thời gian.

Trên bảng có những con mèo xuất hiện và biến mất theo thời gian. Quân cờ không bao giờ được đứng trên ô có mèo. Cụ thể, quân cờ chỉ có thể bước vào một ô nếu con mèo (nếu có) trong ô đó rời đi đúng vào thời điểm quân cờ bắt đầu bước từ ô kề bên, và trong suốt thời gian quân cờ ở trong ô thì không có con mèo nào xuất hiện tại ô đó.

q sự kiện, cho theo thứ tự thời gian tăng dần. Mỗi sự kiện có một trong ba dạng, kèm thời điểm t:

  • 1 x y t: hỏi số cách để quân cờ đến được ô (x,y) tại đúng thời điểm t. Đảm bảo tại thời điểm t không có mèo trong ô (x,y).
  • 2 x y t: tại thời điểm t một con mèo xuất hiện trong ô (x,y). Đảm bảo trước đó không có mèo nào trong ô này.
  • 3 x y t: tại thời điểm t con mèo trong ô (x,y) rời đi. Đảm bảo trước đó có mèo trong ô này.

Hai cách di chuyển được xem là khác nhau nếu tồn tại ít nhất một thời điểm trong khoảng từ 1 đến t mà vị trí quân cờ ở hai cách là khác nhau. Trong hành trình, quân cờ được phép đi qua ô (1,1) và ô (x,y) nhiều lần.

Với mỗi truy vấn dạng 1, hãy in ra số cách tương ứng theo modulo 109+7. Trả lời các truy vấn theo đúng thứ tự chúng xuất hiện.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên dương n, m, q.
  • q dòng tiếp theo, mỗi dòng chứa bốn số nguyên tp, x, y, t mô tả một sự kiện.

Dữ liệu ra

Với mỗi truy vấn dạng tp=1, in ra trên một dòng số cách đến ô (x,y) tại thời điểm t, theo modulo 109+7.

Ràng buộc

  • 1n·m20
  • 1q10000
  • 1tp3, 1xn, 1ym, 2t109
  • Các sự kiện cho theo thứ tự thời gian tăng ngặt (ti<ti+1).

Ví dụ

Input Output Giải thích
3 3 3
2 2 2 2
1 3 3 5
1 3 3 7
2
42
Một con mèo xuất hiện ở ô (2,2) từ thời điểm 2. Có 2 cách đến (3,3) tại thời điểm 5, và 42 cách tại thời điểm 7.
1 3 3
2 1 2 3
3 1 2 5
1 1 1 7
5 Bảng 1×3. Mèo ở ô (1,2) trong khoảng thời gian [3,5). Có 5 cách quay về (1,1) tại thời điểm 7.
4 5 5
2 2 5 3
2 2 4 6
3 2 4 9
1 4 4 13
1 4 4 15
490902
10598759
Hai con mèo lần lượt xuất hiện và rời đi; hai truy vấn hỏi số cách đến ô (4,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