Ankit_132

D

Aug 26th, 2023
485
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1.  
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. #define ll     long long
  6. #define _test   int _TEST; cin>>_TEST; while(_TEST--)
  7. #define pb     push_back
  8.  
  9. int main()
  10. {
  11.     _test
  12.     {
  13.         int n; cin >> n;
  14.  
  15.         int a[n + 2][n + 2];
  16.      
  17.         for (int i = 0; i <= n + 1; i++){
  18.             for (int j = 0; j <= n + 1; j++) a[i][j] = 0;
  19.         }
  20.    
  21.         for (int i = 1; i <= n; i++){
  22.             for (int j = 1; j <= n; j++){
  23.                 char c; cin >> c;
  24.                 a[i][j] = c - '0';
  25.             }
  26.         }
  27.      
  28.         for (int i = n; i >= 1; i--){
  29.             for (int j = 1; j <= n; j++) a[i][j] ^= a[i - 1][j];
  30.         }
  31.      
  32.         int b[n + 1][n + 1];
  33.         int c[n + 1][n + 1];
  34.         for (int i = 0; i <= n; i++){
  35.             for (int j = 0; j <= n; j++){
  36.                 b[i][j] = c[i][j] = 0;
  37.             }
  38.         }
  39.    
  40.         int ans = 0;
  41.         for (int i = 1; i <= n; i++){
  42.             for (int j = 1; j <= n; j++){
  43.                 if (b[i][j]){
  44.                     a[i][j] ^= 1;
  45.                     b[i + 1][j - 1] ^= 1;
  46.                 }
  47.                 if (c[i][j]){
  48.                     a[i][j] ^= 1;
  49.                     c[i + 1][j + 1] ^= 1;
  50.                 }
  51.             }
  52.             for (int j = 1; j <= n; j++){
  53.                 if (a[i][j]){
  54.                     ans++;
  55.                     b[i + 1][j - 1] ^= 1;
  56.                     c[i + 1][j + 1] ^= 1;
  57.                 }
  58.             }
  59.      
  60.         }
  61.  
  62.         cout << ans << endl;
  63.     }
  64. }
  65.  
Advertisement
Add Comment
Please, Sign In to add comment