71ptsRE求助
查看原帖
71ptsRE求助
680022
Rice_Demon_King楼主2023/11/17 20:55

第二个和第七个测试点RE,其他AC 代码如下

#include<bits/stdc++.h>
using namespace std;
int n;
char a[24][24],b[24][24];
int pd(char x[][24],char y[][24]){
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(x[i][j]!=y[i][j]) 
				return 0;
	return 1;
}
int zhuan90(){
	char c1[24][24];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c1[i][j]=a[n-j+1][i];
	if(pd(b,c1)==1) return 1;
	return 0;
}
int zhuan180(){
	char c2[24][24];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c2[i][j]=a[n-i+1][n-j+1];
	if(pd(b,c2)==1) return 1;
	return 0;
}
int zhuan270(){
	char c3[24][24];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c3[i][j]=a[j][n-i+1];
	if(pd(b,c3)==1) return 1;
	return 0;
}
int fanzhuan(){
	char c4[24][24];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c4[i][j]=a[i][n-j+1];
	if(pd(b,c4)==1) return 1;
	return 0;
}
int fan_zhuan(){
	char c5[24][24],c_90[24][24],c_180[24][24],c_270[24][24];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c5[i][j]=a[i][n-j+1];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;i++)
			c_90[i][j]=c5[n-j+1][i];
	if(pd(b,c_90)==1) return 1;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c_180[i][j]=c5[n-i+1][n-j+1];
	if(pd(b,c_180)==1) return 1;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c_270[i][j]=c5[j][n-i+1];
	if(pd(b,c_270)==1) return 1;
	return 0;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			cin>>a[i][j];
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			cin>>b[i][j];
	if(zhuan90()==1){
		cout<<1;
		return 0;
	}
	if(zhuan180()==1){
		cout<<2;
		return 0;
	}
	if(zhuan270()==1){
		cout<<3;
		return 0;
	}
	if(fanzhuan()==1){
		cout<<4;
		return 0;
	}
	if(fan_zhuan()==1){
		cout<<5;
		return 0;
	}
	if(pd(a,b)==1){
		cout<<6;
		return 0;
	}
	cout<<7;
	return 0;
}
2023/11/17 20:55
加载中...