其实我还想自己试试,但是没有下载权限
可恶的新号
如果有朋友愿意帮我康康代码就好了
虽然很长
当然,如果嫌麻烦,也可以帮我下载一下5#数据,我自己来找错。
谢谢你!
#include<iostream>
using namespace std;
int n=0,i=0,j=0;
bool flag=0;
char a[12][12]={0},b[12][12]={0},c[12][12]={0};
int turn()//顺时针90°
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
c[i][j]=a[n-j+1][i];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=c[i][j];
// cout<<"turn"<<endl;
}
int mirror()//镜像
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
c[i][j]=a[i][n-j+1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=c[i][j];
// cout<<"mirror"<<endl;
}
int check()
{
flag=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(a[i][j]!=b[i][j])
{
flag=0;
break;
}
}
if(flag==0)
break;
}
// cout<<"check"<<endl;
}
int main()
{
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>a[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin>>b[i][j];
check();
if(flag==1)
{
cout<<"6";
return 0;
}
turn();
// for(i=1;i<=n;i++)
// {
// for(j=1;j<=n;j++)
// cout<<a[i][j];
// cout<<endl;
// }
check();
if(flag==1)
{
cout<<"1";
return 0;
}
turn();
check();
if(flag==1)
{
cout<<"2";
return 0;
}
turn();
check();
if(flag==1)
{
cout<<"3";
return 0;
}
turn();
mirror();
check();
if(flag==1)
{
cout<<"4";
return 0;
}
turn();
check();
if(flag==1)
{
cout<<"5";
return 0;
}
turn();
check();
if(flag==1)
{
cout<<"5";
return 0;
}
turn();
check();
if(flag==1)
{
cout<<"5";
return 0;
}
if(flag==0)
{
cout<<"7";
return 0;
}
}