呵,67分
查看原帖
呵,67分
406170
Jason_yinkai楼主2021/8/27 14:51

大佬看一下测试点

#include<iostream>
using namespace std;
int n;
char past[11][11],now[11][11];
char a[11][11];
bool change_1(){
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			if(past[j][n - i + 1] != now[i][j])return false;
		}
	}
	return true;
}
bool change_2(){
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			if(past[n - i + 1][n - j + 1] != now[i][j])return false;
		}
	}
	return true;
}
bool change_3(){
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			if(past[n - j + 1][i] != now[i][j])return false;
		}
	}
	return true;
}
bool change_4(){
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			if(past[i][n - j + 1] != now[i][j])return false;
		}
	}
	return true;
}
bool change_5(){
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			past[i][n - j + 1] = now[i][j];
		}
	}
	if(change_1() or change_2() or change_3())return true;
	else return false;
}
bool change_6(){
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			past[i][j] = a[i][j];
		}
	}
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			if(past[i][j] != now[i][j])return false;
		}
	}
	return true;
}
void work(){
	if(change_1()){
		cout<<1;return;
	}else if(change_2()){
		cout<<2;return;
	}else if(change_3()){
		cout<<3;return;
	}else if(change_4()){
		cout<<4;return;
	}else if(change_5()){
		cout<<5;return;
	}else if(change_6()){
		cout<<6;return;
	}else{
		cout<<7;return;
	}
}
int main(){
	cin>>n;
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			cin>>past[i][j];
			a[i][j] = past[i][j];//在5的时候,需要多次变化,a是防止被改 
		}
	}
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= n;j++){
			cin>>now[i][j];
		}
	}
	work();
}
2021/8/27 14:51
加载中...