Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define _test int _TEST; cin>>_TEST; while(_TEST--)
- #define pb push_back
- int main()
- {
- _test
- {
- int n; cin >> n;
- int a[n + 2][n + 2];
- for (int i = 0; i <= n + 1; i++){
- for (int j = 0; j <= n + 1; j++) a[i][j] = 0;
- }
- for (int i = 1; i <= n; i++){
- for (int j = 1; j <= n; j++){
- char c; cin >> c;
- a[i][j] = c - '0';
- }
- }
- for (int i = n; i >= 1; i--){
- for (int j = 1; j <= n; j++) a[i][j] ^= a[i - 1][j];
- }
- int b[n + 1][n + 1];
- int c[n + 1][n + 1];
- for (int i = 0; i <= n; i++){
- for (int j = 0; j <= n; j++){
- b[i][j] = c[i][j] = 0;
- }
- }
- int ans = 0;
- for (int i = 1; i <= n; i++){
- for (int j = 1; j <= n; j++){
- if (b[i][j]){
- a[i][j] ^= 1;
- b[i + 1][j - 1] ^= 1;
- }
- if (c[i][j]){
- a[i][j] ^= 1;
- c[i + 1][j + 1] ^= 1;
- }
- }
- for (int j = 1; j <= n; j++){
- if (a[i][j]){
- ans++;
- b[i + 1][j - 1] ^= 1;
- c[i + 1][j + 1] ^= 1;
- }
- }
- }
- cout << ans << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment