Gửi bài giải
Điểm:
100,00
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
117M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++
Nguồn đê: https://codeforces.com/contest/1391/problem/D
Ma trận nhị phân là ma trận, mà các ô chỉ mang giá trị 0 hoặc 1. Một ma trận nhị phân được gọi là tốt khi tất cả các ma trận vuông con có độ dài chẵn (tức là chiều dọc/ngang), có số lượng lẻ các bit một. Cho một ma trận nhị phân a gồm n hàng và m cột, xác định số lần tối thiểu chỉnh sửa giá trị các ô để làm cho ma trận đã cho trở thành tốt.
Input
Dòng 1: Gồm 2 số nguyên n, m ~(1 ≤ n, m ≤ 10^6, n*m ≤ 10^6 ) ~.
n dòng tiếp theo mỗi dòng i chứa một chuỗi x có độ dài m, kí tự thứ j của x là giá trị của ô a[i,j] trong ma trận
Kết quả
In ra số lần tối thiểu chỉnh sửa giá trị các ô để làm cho ma trận đã cho trở thành tốt, nếu không thể hãy in ra -1.
Sample Input 1
3 3
101
001
110
Sample Output 1
2
Sample Input 2
7 15
000100001010010
100111010110001
101101111100100
010000111111010
111010010100001
000011001111101
111111011010011
Sample Output 2
-1
Bình luận