请问一下本萌新的代码为什么总是一直死循环呢……
查看原帖
请问一下本萌新的代码为什么总是一直死循环呢……
280880
无尽悲伤楼主2020/8/22 19:26
#include<bits/stdc++.h>
using namespace std;
int n;
char s1[11][11],s2[11][11],s3[11][11],s4[11][11];
void x90(){
	for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		s3[i][j]=s1[n-1-j][i];
		 }
	 }
}
void x180(){
	for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		s3[i][j]=s1[n-1-i][n-1-j];
		 }
	 }
}
void x270(){
	for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		s3[i][j]=s1[j][n-1-i];
		 }
	 }
}
void fan(){
	for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		s3[i][j]=s1[i][n-1-j];
		 }
	 }
}
int cm(){
	for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		if(s3[i][j]!=s1[i][j]){
	 			return 0;
			 }
		 }
	 }
	 return 1;
}
void debug(){
	for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		s4[i][j]=s3[i][j];
		 }
	 }
}
void debug90(){
	for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		s3[i][j]=s4[n-1-j][i];
		 }
	 }
}
void debug180(){
	for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		s3[i][j]=s4[n-1-i][n-1-j];
		 }
	 }
}
void debug270(){
	for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		s3[i][j]=s4[j][n-1-i];
		 }
	 }
}
int main(){
	scanf("%d",&n);
	 for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		cin>>s1[i][j];
		 }
	 } 
	 for(int i=0;i<n;i++){
	 	for(int j=0;j<n;j++){
	 		cin>>s2[i][j];
		 }
	 }
	   for(int i=1;i<=7;i++){
	   	   switch(i){
	   	   	case 1:
	   	   		x90();
	   	   		if(cm()==1){
	   	   			printf("1");
	   	   			return 0;
				}
			case 2:
				x180();
				if(cm()==1){
					printf("2");
					return 0;
				}
	   	   	case 3:
				x270();
				if(cm()==1){
					printf("2");
					return 0;
				}
			case 4:
			    fan();
				if(cm()==1){
					printf("4");
					return 0;
				}
			case 5:
				fan();
				debug();
			   for(int j=1;i<=3;j++){
			   	   switch(j){
			   	   	  case 1:
			   	   	  	debug90();
			   	   	  	break;
			   	   	  case 2:
			   	   	  	debug180();
			   	   	  	break;
			   	   	  case 3:
			   	   	  	debug270();
			   	   	  	break;
					  }
				  if(cm()==1){
				  	  printf("5");
				  	  return 0;
				  }	  
			   }
			case 6:
			  if(cm()==1){
			  	 printf("6");
			  	 return 0;
			  }
			default:
				printf("7");
		 }
	   }
	return 0;
}
2020/8/22 19:26
加载中...