Submit solution
Points:
1.90 (partial)
Time limit:
1.0s
Memory limit:
512M
Input:
stdin
Output:
stdout
Problem source:
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho một ma trận có kích thước ~r * c~, mỗi phần tử có giá trị ~0~ hoặc ~1~. Với mỗi thao tác, bạn có thể đổi giá trị của một phần tử từ ~0~ sang ~1~ và ngược lại. Mục tiêu của bạn là biến đổi ma trận sao cho:
- Mỗi hàng đều có số phần tử có giá trị ~1~ bằng nhau
- Mỗi cột đều có số phần tử có giá trị ~1~ bằng nhau. Hỏi cần thực hiện tối thiểu bao nhiêu thao tác để đạt được trạng thái này?
Input
Dòng đầu tiên chứa số lượng test ~T~ ~(T \leq 1000)~. Tiếp theo là ~T~ test, mỗi test có dạng như sau:
- Dòng đầu tiên chưa hai số nguyên ~r~ và ~c~ ~(1 \leq r, c \leq 40)~, với ~r~ là số hàng và ~c~ là số cột của ma trận.
- M dòng tiếp theo, mỗi dòng chứa ~n~ số nguyên với giá trị ~0~ hoặc ~1~.
Output
Với mỗi test, in ra câu trả lời dưới dạng Case #: R
trên một dòng, trong đó, #
là số thứ tự của test và R
là số thao tác tối thiểu để đạt được trạng thái như yêu cầu. Nếu không thể biến đổi để thỏa mãn yêu cầu thì thay R
bằng ~-1~.
Sample Input
3
2 3
111
111
3 3
011
011
011
2 3
001
000
Sample Output
Case 1: 0
Case 2: 3
Case 3: 1
Comments