D. Vasya And The Matrix 数学 思维 位运算

 推理过程如下

a b

c

d e f
g h i

⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇

a b^e^h c^f^i
d^e^f 0 0
g^h^i 0 0

 其中   第一行 a^b^e^h^c^f^i 为题中给出的a[0] 第一列a^d^e^f^g^h^i为题中给出的b[0]

有 a^b^e^h^c^f^i=a[0] =>a=a[0]^b^e^h^c^f^i 同理a=b[0]^d^e^f^g^h^i

所以比较一下 各行的异或的连续亦或 和各列的连续亦或想不想等就可以判断矩阵是否存在  

并且 求出a 

 

#include
using namespace std;
int a[1005],b[1005];
int ans[1005][1005];
int main(){
int n,m;
cin>>n>>m;
int x=0,y=0;
for(int i=0;i>a[i];
   x=x^a[i];
}
for(int i=0;i>b[i];
    y=y^b[i];
}
if(x==y){printf("YES\n");
ans[0][0]=x^a[0]^b[0];
for(int i=1;i

 

你可能感兴趣的:(ACM,math)