本地AC,洛谷IDE也AC,到CF这边WA了是怎么回事啊/kel
查看原帖
本地AC,洛谷IDE也AC,到CF这边WA了是怎么回事啊/kel
336603
出言不逊王子楼主2022/8/30 17:15
#include<bits/stdc++.h>
#define fs(i,x,y,z) for(int i=x;i<=y;i+=z)
#define ft(i,x,y,z) for(int i=x;i>=y;i+=z)
#define ll long long
#define ull unsigned long long
#define db double
#define ms(a,b) memset(a,b,sizeof(a))
#define sz(a) sizeof(a)
using namespace std;
const int rw[]={-1,0,1,0,-1,1,-1,1},cl[]={0,1,0,-1,-1,1,1,-1};
const int N=1001,inf=0x3f3f3f3f;
inline int read(){
	int date=0,w=1;char c=0;
	while(c<'0'||c>'9'){if(c=='-')w=-1;c=getchar();}
	while(c>='0'&&c<='9'){date=date*10+c-'0';c=getchar();}
	return date*w;
}
int n,a[N][N],b[N][N],c[N][N],transfer1[N];
char tmpa[N];
int mian(){
	n=read();
	fs(i,1,n,1){
		scanf("%s",tmpa+1);
		fs(j,1,n,1) a[i][j]=tmpa[j]-'0'; 
	}
	fs(i,1,n,1){
		scanf("%s",tmpa+1);
		fs(j,1,n,1) b[i][j]=tmpa[j]-'0'; 
	}
//	fs(i,1,n,1){
//		fs(j,1,n,1) cout<<a[i][j];
//		cout<<'\n';
//	}
//	fs(i,1,n,1){
//		fs(j,1,n,1) cout<<b[i][j];
//		cout<<'\n';
//	}
	fs(i,1,n,1) if(a[1][i]^b[1][i]) transfer1[i]=1;
	fs(i,1,n,1) fs(j,1,n,1) a[i][j]^=transfer1[j];//针对列的,那么剩下只能全行的了
//	fs(i,1,n,1){
//		fs(j,1,n,1) cout<<a[i][j];
//		cout<<'\n';
//	}	
//	if(n==2&&b[2][1]&&(!(b[1][1]||b[1][2]||b[2][2]))) return puts("YES"),0;
	bool able=0;
	fs(i,1,n,1){
		fs(j,2,n,1) if((a[i][j]^b[i][j])!=(a[i][j-1]^b[i][j-1])){
				puts("NO");
				able=1;
				break;
			//}
		} 
		if(able) break;
	} 
	if(!able) puts("YES");
	return 0;
}
int main(){
	int t=read();while(t--) mian();
}
//先把a的第一行变成b, 
/*
2
10 
11 

00
10
*/
2022/8/30 17:15
加载中...