众所周知,这是一道签到题
原式子可以化为: =
可把看作一个整体
判断是否矛盾即得答案
#include<bits/stdc++.h>
using namespace std;
int n;
int a[10005][10005];
int c[10005][10005];
int k[10005];
void work()
{
cin>>n;
memset(k,0,sizeof(k));
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++){
scanf("%d",&a[i][j]);
k[i]^=a[i][j];
}
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
scanf("%d",&c[i][j]);
for(int j=1;j<=n;j++){
int flag=-1,t;
for(int i=1;i<=n;i++){
t=c[i][j]^k[i];
if(flag==-1) flag=t;
else if(flag!=t) {
puts("NO");
return;
}
}
}
puts("YES");
return;
}
int T;
int main()
{
cin>>T;
while(T--)
work();
return 0;
}
/*
*/
京公网安备 11010502036488号