trang chủ / đề bài / voi20_light

Giàn đèn

Đề bài

Mô tả

Một giàn đèn trang trí kích thước m×n, các hàng đánh số từ 1 đến m từ trên xuống dưới, các cột đánh số từ 1 đến n từ trái sang phải. Ô nằm giao giữa hàng r và cột c gọi là ô (r,c). Trên mỗi ô có một bóng đèn, mỗi bóng đèn có ba trạng thái: hoặc tắt, hoặc bật sáng màu xanh, hoặc bật sáng màu đỏ. Có k ô phân biệt (r1,c1),(r2,c2),…,(rk,ck) của giàn đèn, mỗi ô có một công tắc điều khiển. Khi tác động vào công tắc của ô (rt,ct) thì những đèn nằm trong các ô thuộc hình chữ nhật có ô trái trên là (rt,ct) và ô phải dưới là (xt,yt) sẽ đổi trạng thái (t=1,2,…,k). Cụ thể, các đèn nằm trong các ô (u,v) mà rt≤u≤xt và ct≤v≤yt sẽ thay đổi theo quy tắc: nếu đèn đang ở trạng thái tắt sẽ chuyển sang trạng thái bật sáng màu xanh, nếu đang ở trạng thái bật sáng màu xanh sẽ chuyển sang trạng thái bật sáng màu đỏ, còn nếu đèn đang ở trạng thái bật sáng màu đỏ sẽ chuyển sang trạng thái tắt. Mỗi công tắc có thể tác động nhiều lần.

Yêu cầu: Cho thông tin trạng thái ban đầu các đèn trên giàn và các công tắc. Hãy tìm cách đưa tất cả các đèn về cùng một trạng thái bật sáng màu xanh hoặc bật sáng màu đỏ với số lần tác động là ít nhất.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên dương m, n, k (k≤m×n);
  • Dòng thứ i trong số m dòng tiếp theo chứa n số nguyên nhận giá trị 0, 1 hoặc 2. Số thứ j (j=1,2,…,n) mô tả trạng thái đèn ở ô (i,j) là tắt, bật sáng màu xanh hoặc bật sáng màu đỏ tương ứng với các giá trị 0, 1 hoặc 2;
  • Dòng thứ t trong số k dòng tiếp theo chứa bốn số nguyên dương rt,ct,xt,yt (1≤rt≤xt≤m và 1≤ct≤yt≤n).

Các số trên cùng một dòng cách nhau bởi dấu cách.

Dữ liệu ra

In ra duy nhất một số nguyên là số lần tác động ít nhất để các đèn về cùng một trạng thái sáng màu xanh hoặc sáng màu đỏ, nếu không tồn tại cách tác động thì in ra số −1.

Ràng buộc

  • m×n≤105; 1≤k≤m×n;
  • Các ô (rt,ct) đôi một phân biệt; 1≤rt≤xt≤m, 1≤ct≤yt≤n.

Subtasks

  • Subtask 1 (40% số test, 40% số điểm): m=1, n≤10;
  • Subtask 2 (40% số test, 40% số điểm): m×n≤103;
  • Subtask 3 (20% số test, 20% số điểm): m×n≤105.

Ví dụ

Input Output Giải thích
2 3 3
2 1 0
2 1 0
1 1 2 3
1 2 2 3
1 3 2 3
2 Trước tiên tác động vào công tắc ở ô (1,3), sau đó tác động vào công tắc ở ô (1,2), khi đó tất cả các đèn trên giàn đều sáng màu đỏ.
1 3 2
1 1 2
1 1 1 3
1 3 1 3
2 Ví dụ thêm (không có trong đề gốc). Tác động hai lần vào công tắc ở ô (1,3) thì cả ba đèn sáng màu xanh. Muốn cả ba đèn màu đỏ cần 3 lần: một lần công tắc (1,1) và hai lần công tắc (1,3).

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