矩阵相似

原题链接:https://begin.lydsy.com/JudgeOnline/problem.php?cid=1258&pid=3
矩阵相似

题目如上,一开始觉得很难,做不出来,想用2个矩阵做,结果半天无果。最后利用一定的规律想出来了。
最后还是上网查了一下,借助大佬的思想,做了出来。废话不多说,上代码。

#include 
using namespace std;
int n,a,b,c,d;
int AB[21][21];

int main()
{
    scanf("%d",&n);
    for (int i=1;i<=2*n;i++)
    for (int j=1;j<=n;j++)
    scanf("%d",&AB[i][j]);
    for (int i=1;i<=n;i++)
    for (int j=1;j<=n;j++)
    {
        if (AB[i][j]==AB[n+i][j]) a++;
        if (AB[i][j]==AB[n+j][n-i+1]) b++;
        if (AB[i][j]==AB[2*n-i+1][n-j+1]) c++;
        if (AB[i][j]==AB[2*n-j+1][i]) d++;
    }
    if (a==n*n) printf("0");
    else if (b==n*n) printf("1");
    else if (c==n*n) printf("2");
    else if (d==n*n) printf("3");
    else printf("-1");
    return 0;
}

你可能感兴趣的:(矩阵相似)