题目链接:https://codeforces.com/contest/405/problem/C

题解:很显然我们可以发现对于非主对角线上的元素aija_{ij}对于答案的贡献为2aijaji2a_{ij}a_{ji} 很显然当aija_{ij}i!=ji!=j时是没有贡献的那么只需要考虑主对角线上元素对于题目的贡献。

可以发现每次更改只会影响主对角线上的某个元素,所以对于每次修改只需将ansans异或11即可

#include <bits/stdc++.h>
#define pa pair<int, int>
#define mp make_pair
#define lowbit(x) ((x)&(-x))
#define mem(i, a) memset(i, a, sizeof(i))
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int N = 1005 + 5;
int a[N][N];
int n,q;
int main() {
    cin >> n;
    int ans = 0;
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= n; j++) {
            scanf("%d", &a[i][j]);
        }
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= n; j++) {
            ans += a[i][j] * a[j][i];
            ans %= 2;
        }
    }
   cin >> q;
    while(q--) {
        int x;
        scanf("%d", &x);
        if(x == 1 || x == 2) {
            int r;
            scanf("%d", &r);
            ans ^= 1;
        }
        else cout << ans;
    }
    return 0;
}