一、题目部分
选自洛谷:
二、解题过程
思路
见“提交AC答案”部分给出的注释
提交AC答案
#include <bits/stdc++.h>
using namespace std;
int n;
char a[10][10],b[10][10];
char c[10][10],d[10][10];
bool pd()
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(c[i][j]!=b[i][j])
{
return false;
break;
}
}
}
return true;
}
void mean1()//顺时针90°
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
c[i][j]=a[n-1-j][i];
}
void mean2()//顺时针180°
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
c[i][j]=a[n-1-i][n-1-j];
}
void mean3()//顺时针270°=逆时针90°
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
c[i][j]=a[j][n-1-i];
}
void mean4()//反射
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
c[i][j]=a[i][n-1-j];
}
void mean5_1()//组合1
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
d[i][j]=a[i][n-1-j];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
c[i][j]=d[n-1-j][i];
}
void mean5_2()//组合2
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
d[i][j]=a[i][n-1-j];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
c[i][j]=d[n-1-i][n-1-j];
}
void mean5_3()//组合3
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
d[i][j]=a[i][n-1-j];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
c[i][j]=d[j][n-1-i];
}
void mean6()//不改变
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
c[i][j]=a[i][j];
}
int main()
{
scanf("%d\n",&n);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cin>>a[i][j];
// for(int i=0;i<n;i++)
// {
// for(int j=0;j<n;j++)
// cout<<a[i][j];
//
// printf("\n");
// }
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cin>>b[i][j];
mean1();
// for(int i=0;i<n;i++)
// {
// for(int j=0;j<n;j++)
// cout<<c[i][j];
//
// printf("\n");
// }
if(pd())
{
printf("1");
return 0;
}
mean2();
// for(int i=0;i<n;i++)
// {
// for(int j=0;j<n;j++)
// cout<<c[i][j];
//
// printf("\n");
// }
if(pd())
{
printf("2");
return 0;
}
mean3();
if(pd())
{
printf("3");
return 0;
}
mean4();
// for(int i=0;i<n;i++)
// {
// for(int j=0;j<n;j++)
// cout<<c[i][j];
//
// printf("\n");
// }
if(pd())
{
printf("4");
return 0;
}
mean5_1();
if(pd())
{
printf("5");
return 0;
}
mean5_2();
if(pd())
{
printf("5");
return 0;
}
mean5_3();
if(pd())
{
printf("5");
return 0;
}
mean6();
if(pd())
{
printf("6");
return 0;
}
printf("7");
return 0;
}