题意:
输入:
输出:
数据:
解题思路:找规律就行,顺时针旋转的话,就找到旋转90度后的每个元素的变化情况,然后判断就行。
代码:
#include<iostream>
using namespace std;
int a[50][50],b[50][50],c[50][50];
int n;
void sol()
{
int k=0;
int flag1=0;
while(k<4)//限制
{
int flag=0;
for(int i=0;i<n;i++)//判断
{
for(int j=0;j<n;j++)
{
if(a[i][j]!=b[i][j])
{
flag=1;
break;
}
}
if(flag)break;
}
if(!flag)
{
break;
}
for(int i=n-1;i>=0;i--)//规律
{
for(int j=0;j<n;j++)
{
c[j][i]=a[n-i-1][j];
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
a[i][j]=c[i][j];
}
}
k++;
if(k==4)
{
flag1=1;
}
}
if(flag1)
{
cout<<-1;
}else
{
cout<<k;
}
}
int main()
{
cin>>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++)
{
cin>>b[i][j];
}
}
sol();
}