自己试了几个点都没问题,求大佬帮忙看看
查看原帖
自己试了几个点都没问题,求大佬帮忙看看
903806
Sgrpig楼主2022/12/15 02:35
#include<stdio.h>
#include<math.h>
int way1(char a[20][20],char b[20][20],int n);
int way2(char a[20][20],char b[20][20],int n);
int way3(char a[20][20],char b[20][20],int n);
int way4(char a[20][20],char b[20][20],int n);
int way5(char a[20][20],char b[20][20],int n);
int way6(char a[20][20],char b[20][20],int n);


int main(){
	int n;
	char a[20][20];
	char b[20][20];
	scanf("%d",&n);
	fflush(stdin);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			scanf("%c",&a[i][j]);
		}fflush(stdin);
	}
	
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			scanf("%c",&b[i][j]);
		}fflush(stdin);
	}

	if(way1(a,b,n)){
		printf("1");
		return 0;
	}
	if(way2(a,b,n)){
		printf("2");
		return 0;
	}
	if(way3(a,b,n)){
		printf("3");
		return 0;
	}
	if(way4(a,b,n)){
		printf("4");
		return 0;
	}
	if(way5(a,b,n)){
		printf("5");
		return 0;
	}
	if(way6(a,b,n)){
		printf("6");
		return 0;
	}
	printf("7");
	return 0;	
} 

int way1(char a[20][20],char b[20][20],int n){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]!=b[j][n-i+1]){
				return 0;
			}
		}
	}
	return 1;	
}

int way2(char a[20][20],char b[20][20],int n){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]!=b[n-i+1][n-j+1]){
				return 0;
			}
		}
	}
	return 1;	
}

int way3(char a[20][20],char b[20][20],int n){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]!=b[n-j+1][i]){
				return 0;
			}
		}
	}
	return 1;
}

int way4(char a[20][20],char b[20][20],int n){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]!=b[i][n-j+1]){
				return 0;
			}
		}
	}
	return 1;
}

int way5(char a[20][20],char b[20][20],int n){
	char c[20][20];
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			c[i][j]=a[i][n-j+1]	;		
		}
	}
	return(way1(c,b,n)||way2(c,b,n)||way1(c,b,n));
}

int way6(char a[20][20],char b[20][20],int n){
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]!=b[i][j]){
				return 0;
			}
		}
	}
	return 1;
}
2022/12/15 02:35
加载中...