luogu P2117 小Z的矩阵(结论题)
题意
题解
这题有点水。
我们发现对答案有贡献的实际上只有左上到右下的对角线上的数。
因为不在这条对角线上的乘积都要计算两遍,然后%2就都没了。。。
然后就做完了。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std; 7 const int N=2000; 8 int n,q,ans,a[N][N]; 9 int main(){ 10 scanf("%d%d",&n,&q); 11 for(int i=1;i<=n;i++) 12 for(int j=1;j<=n;j++){ 13 scanf("%d",&a[i][j]); 14 } 15 for(int i=1;i<=n;i++){ 16 ans+=a[i][i]; 17 } 18 ans%=2; 19 for(int i=1;i<=q;i++){ 20 int k; 21 scanf("%d",&k); 22 if(k==1){ 23 int x; 24 scanf("%d",&x); 25 ans^=1; 26 } 27 else if(k==2){ 28 int x; 29 scanf("%d",&x); 30 ans^=1; 31 } 32 else { 33 printf("%d",ans); 34 } 35 } 36 return 0; 37 }