1628C - Grid Xor - CodeForces Solution


constructive algorithms greedy implementation interactive math *2300

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
long double PI = acos(-1);
long double DEL = 1e-12;
long long M =  1e9 + 7;
const long long N = 3e5 + 10;
#define ftt cin>>tc;for(int cas=1;cas<=tc;++cas)
#define all(a) a.begin(),a.end()
#define sq(a) ((a)*(a))
#define double long double
#define dbg cout<<"\nhi\n";
#define int long long
#define nl cout<<"\n"
#define sp <<" "<<
#define mid ((l+r)>>1)
#define rson 2*i+1
#define lson 2*i
#define X real()
#define Y imag()


//*********************************** CHECK CONSTRAINTS ***********************************
int cnt, sum, mx, mn, ans, a[N], b[N];
int n, m, d, i, j, k, l, p, q, r, t, w, x, y, z, tc;
string s;



//************************************* CODE STARTS ****************************************



int32_t main()
{
        ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#ifndef ONLINE_JUDGE
        freopen("/Users/jenish/XCode/cp/input.txt","r",stdin);
#endif
        int dy[] = {1,-1,0,0},dx[] = {0,0,1,-1};
        ftt{
                cin >> n;
                vector<vector<int>> a(n + 3,vector<int>(n + 3)),taken(n + 3,vector<int>(n + 3));
                for(int i = 1;i <= n;i++){
                        for(int j = 1;j <= n;j++){
                                cin >> a[i][j];
                        }
                }
                ans = 0;
                for(int i = 1;i <= n;i++){
                        for(int j = 1;j <= n;j++){
                                bool check = true;
                                for(int k = 0;k < 4;k++){
                                        if(taken[i + dx[k]][j + dy[k]]){
                                                check = false;
                                        }
                                }
                                
                                if(check){
                                        for(int k = 0;k < 4;k++){
                                                taken[i + dx[k]][j + dy[k]] = 1;
                                        }
                                        ans ^= a[i][j];
                                }
                        }
                }
                cout << ans;nl;
                
        }
}





Comments

Submit
0 Comments
More Questions

1666F - Fancy Stack
1354A - Alarm Clock
1543B - Customising the Track
1337A - Ichihime and Triangle
1366A - Shovels and Swords
919A - Supermarket
630C - Lucky Numbers
1208B - Uniqueness
1384A - Common Prefixes
371A - K-Periodic Array
1542A - Odd Set
1567B - MEXor Mixup
669A - Little Artem and Presents
691B - s-palindrome
851A - Arpa and a research in Mexican wave
811A - Vladik and Courtesy
1006B - Polycarp's Practice
1422A - Fence
21D - Traveling Graph
1559B - Mocha and Red and Blue
1579C - Ticks
268B - Buttons
898A - Rounding
1372B - Omkar and Last Class of Math
1025D - Recovering BST
439A - Devu the Singer and Churu the Joker
1323A - Even Subset Sum Problem
1095A - Repeating Cipher
630F - Selection of Personnel
630K - Indivisibility