Đào hang
Đề bài
Mô tả
Trong một mảnh vườn hình chữ nhật có kích thước , người ta chia mảnh vườn thành hàng và cột, các hàng và cột tạo thành các ô vuông đơn vị có cạnh bằng , người ta trồng khoai lang trong những ô đơn vị hình vuông đó. Trong mảnh vườn này có một chú chuột chũi ở trong hang, chú chuột này cần xác định miền người ta đã trồng khoai lang nhiều nhất trong mảnh vườn để đào hang đến ăn (hai miền khác nhau không có một cạnh ô vuông nào chung).
Cụ thể, một miền là một nhóm các ô có trồng khoai lang sao cho từ một ô bất kỳ của nhóm có thể đi tới mọi ô khác của nhóm, mỗi bước sang một ô có trồng khoai lang chung cạnh (lên, xuống, trái, phải), và nhóm không thể mở rộng thêm. Hai ô chỉ chạm nhau ở góc không làm hai miền nối với nhau. Giá trị của một miền là số ô của miền đó.
Yêu cầu: Hãy viết chương trình giúp chú chuột xác định miền giá trị lớn nhất chứa khoai lang để đào đến ăn, tức là in ra số ô của miền lớn nhất. Nếu mảnh vườn không có ô nào trồng khoai lang thì in ra .
Dữ liệu vào
- Dòng đầu tiên ghi số nguyên dương là số bộ dữ liệu , trong đó mỗi bộ dữ liệu gồm:
- Dòng đầu ghi số nguyên dương và là kích thước của mảnh vườn ( và cách nhau một dấu cách; );
- Trong dòng tiếp theo, mỗi dòng có ký tự 0 hoặc 1 (viết liền nhau), với ý nghĩa 0 là không trồng khoai lang, 1 là có trồng khoai lang.
Dữ liệu ra
Gồm dòng, mỗi dòng tương ứng với kết quả tính được của mỗi bộ dữ liệu vào.
Ràng buộc
- .
- .
Subtasks
- số test: ; .
- số test: ; .
- số test còn lại: ; .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 1 3 3 100 110 111 |
6 | Cả ô trồng khoai lang tạo thành một miền. |
| 2 2 3 100 111 5 6 000111 000011 000011 000011 111000 |
4 9 |
Bộ thứ nhất có một miền ô. Bộ thứ hai có miền ô ở góc trên bên phải và miền ô ở hàng cuối; hai miền này chỉ chạm nhau ở góc nên khác nhau. |
| 2 2 2 10 01 1 3 000 |
1 0 |
Bộ thứ nhất có hai ô chỉ chạm nhau ở góc nên là hai miền ô. Bộ thứ hai không có ô nào trồng khoai lang. |
Bình luận