Mảng may mắn

Đề bài

Mô tả

Cho mảng a gồm n phần tử, ban đầu tất cả đều bằng 0. Chỉ số bắt đầu từ 1.

Cho ma trận w kích thước 3×3, các phần tử chỉ là 0 hoặc 1. Cặp có thứ tự (x,y) với 1≤x,y≤3 được gọi là tốt nếu wx,y=1. Lưu ý ma trận không cần đối xứng, và cặp có thứ tự nên (1,2) khác (2,1).

Mảng a (sau khi đã thay thế) được gọi là may mắn nếu với mọi 1≤i≤n−1, cặp (ai,ai+1) là tốt.

Có m truy vấn, mỗi truy vấn là hai số nguyên vi,ti: gán avi:=ti (với 0≤ti≤3; giá trị ti=0 có nghĩa vị trí vi trở lại giá trị 0).

Sau mỗi truy vấn, hãy đếm số cách thay thế tất cả các vị trí đang mang giá trị 0 trong mảng a bằng số nguyên trong {1,2,3} sao cho mảng thu được là may mắn. Các vị trí 0 khác nhau có thể được thay bằng số khác nhau. Vì đáp án có thể lớn, in ra phần dư khi chia cho 777777777.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và m.
  • Ba dòng tiếp theo mô tả ma trận w: dòng thứ i chứa ba số wi,1,wi,2,wi,3.
  • m dòng tiếp theo, dòng thứ i chứa hai số nguyên vi,ti.

Dữ liệu ra

In ra m số nguyên, mỗi số trên một dòng: đáp án sau truy vấn thứ i.

Ràng buộc

  • 1≤n,m≤77777
  • wi,j∈{0,1}
  • 1≤vi≤n
  • 0≤ti≤3

Ví dụ

Input Output Giải thích
3 10
1 1 0
1 0 0
1 1 1
1 1
1 3
2 2
3 0
2 1
3 0
3 1
2 0
3 1
1 0
3
6
1
1
2
2
1
3
3
6
Sau truy vấn đầu a=[1,0,0]: các cách hợp lệ là [1,1,1], [1,1,2], [1,2,1], nên có 3 cách.
2 3
1 1 0
0 1 0
1 1 1
1 0
2 2
1 3
6
3
1
Ban đầu a=[0,0]: cả 6 cặp (a1,a2) với w=1 đều hợp lệ, nên có 6 cách. Sau truy vấn 2: a=[0,2], chỉ còn 3 cách a1∈{1,2} với wa1,2=1.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0