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

Bảng số của Nanami

Đề bài

Mô tả

Cho một bảng số gồm n hàng và m cột, mỗi ô là một pixel có trạng thái sáng (giá trị 1) hoặc tối (giá trị 0). Pixel ở hàng thứ i, cột thứ j được kí hiệu là (i,j).

Một khối sáng là một hình chữ nhật con của bảng, mà tất cả các pixel bên trong đều sáng. Cụ thể, khối sáng được xác định bởi hai góc đối diện (x1,y1) (trên-trái) và (x2,y2) (dưới-phải), với mọi pixel (i,j) thỏa x1ix2y1jy2 đều phải sáng.

Pixel (i,j) được coi là nằm trên cạnh của khối sáng đó khi và chỉ khi:

((i=x1 hoặc i=x2) và y1jy2) hoặc ((j=y1 hoặc j=y2) và x1ix2).

Bạn cần xử lý q thao tác, mỗi thao tác có dạng một trong hai loại sau:

  • Loại 11 x y: đổi trạng thái của pixel (x,y) (sáng thành tối, hoặc ngược lại).
  • Loại 22 x y: tìm khối sáng có diện tích lớn nhất mà pixel (x,y) nằm trên cạnh của nó. In ra diện tích này. Nếu không tồn tại khối sáng nào thỏa mãn (ví dụ pixel (x,y) đang tối), in ra 0.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên n, m, q (1n,m,q1000).
  • n dòng tiếp theo, mỗi dòng chứa m số nguyên cách nhau bởi dấu cách — trạng thái khởi tạo của bảng. Mỗi số là 0 (tối) hoặc 1 (sáng).
  • q dòng cuối, mỗi dòng chứa ba số nguyên op, x, y (1op2; 1xn; 1ym) mô tả một thao tác.

Dữ liệu ra

Với mỗi thao tác loại 2, in ra trên một dòng diện tích lớn nhất của khối sáng mà pixel (x,y) nằm trên cạnh của nó.

Ràng buộc

  • 1n,m,q1000.

Ví dụ

Input Output Giải thích
3 4 5
0 1 1 0
1 0 0 1
0 1 1 0
2 2 2
2 1 2
1 2 2
1 2 3
2 2 2
0
2
6
Truy vấn đầu hỏi pixel (2,2) — đang tối nên không có khối sáng nào, đáp án 0. Truy vấn thứ hai hỏi (1,2), khối sáng lớn nhất chứa nó trên cạnh là hình chữ nhật (1,2)(1,3) diện tích 2. Sau hai thao tác đổi trạng thái, truy vấn cuối hỏi (2,2) và khối lớn nhất là (1,2)(3,3) diện tích 6.
3 3 4
1 1 1
1 1 1
1 1 1
2 2 2
1 2 2
2 1 1
2 2 1
6
3
3
Bảng ban đầu toàn 1. Truy vấn (2,2) cho khối lớn nhất là một hình chữ nhật 2×3 chứa (2,2) trên cạnh, diện tích 6. Sau khi tắt pixel (2,2), truy vấn (1,1)(2,1) đều cho diện tích lớn nhất là 3 (hình 1×3 hoặc 3×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.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