71pts!!!!!!
查看原帖
71pts!!!!!!
1359554
guhaoyu_1楼主2025/1/15 21:55

不知道哪里出问题了,请各位大佬debugg一下,谢谢 QAQ

#include<bits/stdc++.h>
using namespace std;
char init[11][11],finl[11][11];
int n;

int ch1(char init[11][11],char finl[11][11]){
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(init[i][j]!=finl[j][n-i+1])
				return 0;
	return 1;
}

int ch2(char init[11][11],char finl[11][11]){
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(init[i][j]!=finl[n-i+1][n-j+1])
				return 0;
	return 1;
}

int ch3(char init[11][11],char finl[11][11]){
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(init[i][j]!=finl[n-j+1][i])
				return 0;
	return 1;
}

int ch4(char init[11][11],char finl[11][11]){
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(init[i][j]!=finl[i][n-j+1])
				return 0;
	return 1;
}

int ch5(char init[11][11],char finl[11][11]){
	char t[11][11]={};
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			t[i][j]=init[i][n-j+1];
			
	if(ch1(t,finl)&&ch2(t,finl)&&ch3(t,finl))return 1;
	return 0;
}

int ch6(char init[11][11],char finl[11][11]){
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			if(init[i][j]!=finl[i][j])
				return 0;
	return 1;
}

int ans(){
	if(ch1(init,finl))return 1;
	if(ch2(init,finl))return 2;
	if(ch3(init,finl))return 3;
	if(ch4(init,finl))return 4;
	if(ch5(init,finl))return 5;
	if(ch6(init,finl))return 6;
	return 7;
}

int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++)cin>>init[i][j];
	}
	for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++)cin>>finl[i][j];
	}
    
    cout<<ans()<<'\n';
    return 0;
}
2025/1/15 21:55
加载中...