1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #include <stdio.h> int arr[51][51] = { 0 }, brr[51][51] = { 0 }, crr[51][51] = { 0 }; void change(int y, int x) { for (int i = y; i < y + 3; i++) { for (int j = x; j < x + 3; j++) { if (crr[i][j] == 0) crr[i][j] = 1; else crr[i][j] = 0; } } } int main() { int n, m; scanf("%d %d", &n, &m); for (int i = 0; i < n; i++) { char line[51]; scanf("%s", &line); for (int j = 0; j < m; j++) { arr[i][j] = (int)(line[j] - '0'); } } for (int i = 0; i < n; i++) { char line[51]; scanf("%s", &line); for (int j = 0; j < m; j++) { brr[i][j] = (int)(line[j] - '0'); if (arr[i][j] != brr[i][j]) crr[i][j] = 1; } } int rst = 0; for (int i = 0; i + 2 < n; i++) { for (int j = 0; j + 2 < m; j++) { if (crr[i][j] == 1) { change(i, j); rst++; } } } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (crr[i][j] == 1) { printf("-1"); return 0; } } } printf("%d", rst); } | cs |
'알고리즘 > 그리디 알고리즘' 카테고리의 다른 글
1138 한 줄로 서기 (0) | 2019.06.27 |
---|---|
2437 저울 (0) | 2019.06.27 |
1541 잃어버린 괄호 (0) | 2019.06.23 |
1049 기타줄 (0) | 2019.06.23 |
1120 문자열 (심화-KMP) (0) | 2019.06.23 |