F. Unusual Matrix
这种题两种操作就相当于那种差分后再总体减的那种
我们考虑先只进行一种操作 比如说是行
我们对于每一行应该只有可能经过0/1次变换 都变成一摸一样的 然后再考虑列操作才可以得到全0矩阵
我们以第一行为模板 直接看通过一次变换后可以不可以变成一样的就可以了
int n,a[1010][1010];
vector<int>a1;
bool check(int x){
vector<int>ax;
for(int i=1;i<=n;i++)ax.push_back(a[x][i]);
if(ax==a1)return 1;
for(auto &i:ax)i^=1;
if(ax==a1)return 1;
else return 0;
}
void solve(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
char c;cin>>c;
if(c=='1')a[i][j]=1;
else a[i][j]=0;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
char c;cin>>c;
if(c=='1')a[i][j]^=1;
}
}
a1.clear();
for(int i=1;i<=n;i++)a1.push_back(a[1][i]);
for(int i=2;i<=n;i++){
if(!check(i)){
NO return;
}
}
YES
}
标签:697,int,Codeforces,Div,1010,Round
From: https://www.cnblogs.com/ycllz/p/16880481.html