Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- char line[1 << 10];
- int x[1 << 10][1 << 10], now[1 << 10];
- int minChanges(int N)
- {
- }
- int main()
- {
- int i, j, test, Q, N, M;
- freopen("data.in", "r", stdin);
- freopen("data.out", "w", stdout);
- scanf("%d", &Q);
- for (test = 1; test <= Q; test ++)
- {
- scanf("%d%d", &N, &M);
- for (i = 1; i <= N; i ++)
- {
- gets(x + 1);
- for (j = 1; j <= M; j ++)
- x[i][j] = line[j] - '0';
- }
- memset(now, 0, sizeof(now));
- for (i = 1; i <= N; i ++)
- for (j = 1; j <= M; j ++)
- now[i] += x[i][j];
- int sol = minChanges(N);
- if (sol == -1)
- {
- printf("Case %d: impossible\n", test);
- continue;
- }
- memset(now, 0, sizeof(now));
- for (j = 1; j <= M; j ++)
- for (i = 1; i <= N; i ++)
- now[j] += x[i][j];
- int sol2 = minChanges(M);
- if (sol2 == -1)
- {
- printf("Case %d: row %d\n", test, sol);
- continue;
- }
- printf("Case %d: both %d\n", test, sol + sol2);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment