A类——Dima and a Bad XOR

时间:2023-03-09 19:11:28
A类——Dima and a Bad XOR

http://codeforces.com/contest/1151/problem/B

题意:

给一个矩阵,只要找到每一列的任意一个异或和大于0,就找到解并返回,输出TAK和位置,没找到就输出NIE

题解:

先找到每一列第一个异或和 ,如果为零就只要一旦找到有一个数异或不为零就输出TAK和位置。

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n,m,a[][];
cin>>n>>m;
for(int i=;i<n;i++){
for(int j=;j<m;j++){
cin>>a[i][j];
}
}
int sum=;
for(int i=;i<n;i++){
sum^=a[i][];
}
if(sum!=){
cout<<"TAK"<<endl;
for(int i=;i<n;i++){
if(i!=) cout<<" ";
cout<<;
}
return ;
}
for(int i=;i<n;i++){
for(int j=;j<m;j++){
if(a[i][j]!=a[i][]){
cout<<"TAK"<<endl;
for(int z=;z<i;z++){
cout<<<<" ";
}
cout<<j+;
for(int z=i+;z<n;z++){
cout<<"";
}
return ;
}
}
}
cout<<"NIE"<<endl;
return ;
}