Ma trận tốt
Đề bài
Mô tả
Một ma trận nhị phân (mỗi ô là hoặc ) được gọi là tốt nếu mọi ma trận con vuông có cạnh chẵn đều chứa một số lẻ các số .
Ở đây, một ma trận con vuông cạnh chẵn là một ma trận con vuông kích thước với chẵn (tức ).
Cho một ma trận nhị phân gồm dòng và cột. Hãy xác định số ô ít nhất cần thay đổi (đổi thành hoặc ngược lại) để ma trận trở thành tốt, hoặc cho biết không thể làm được.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và : số dòng và số cột của ma trận.
- dòng tiếp theo, mỗi dòng gồm ký tự hoặc mô tả ma trận .
Dữ liệu ra
- In ra số ô ít nhất cần thay đổi để ma trận trở thành tốt, hoặc nếu không thể.
Ràng buộc
- và .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 3 101 001 110 |
2 | Đổi thành và thành là đủ để mọi ma trận con có số lượng số lẻ. |
| 4 4 1100 0011 1100 0011 |
-1 | Vì cạnh nhỏ nhất bằng , tồn tại ma trận con vuông cạnh và không cách nào làm ma trận trở thành tốt. |
| 2 58 1100001110010010100001000000000110110001101001100010101110 1110110010101111001110010001100010001010100011111110110100 |
27 | Cần thay đổi ít nhất ô để mọi ma trận con có số lẻ. |
Bình luận