溪染的矩阵

众所周知,这是一道签到题
原式子可以化为: =
可把看作一个整体
判断是否矛盾即得答案

#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;
}
/*
*/
全部评论

相关推荐

点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务