别吵
查看原帖
别吵
1444484
zhy_aua楼主2024/12/17 13:42
#include <bits/stdc++.h>
using namespace std;
char map[15][15],t[15][15],ans[15][15];
long long n;
bool v;
int main()
{
    scanf("%d\n",&n);
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            scanf("%c",&map[i][j]);
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            scanf("%c",&ans[i][j]);
        }
    }
    v=true;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            t[i][j]=map[n-j+1][i];
            if (t[i][j]!=ans[i][j]) {v=false; break;}
        }
    }
    if (v)
    {
        printf("1");
        return 0;
    }
    v=true;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            t[i][j]=map[n-i+1][n-j+1];
            if (t[i][j]!=ans[i][j])
            {
                v=false;
                break;
            }
        }
    }
    if (v) {
        printf("2");
        return 0;
    }
    v=true;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            t[i][j]=map[j][n-i+1];
            if (t[i][j]!=ans[i][j]) {v=false; break;}
        }
    }
    if (v) {
        printf("3");
        return 0;
    }
    v=true;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            t[i][j]=map[i][n-j+1];
            if (t[i][j]!=ans[i][j]) {v=false; break;}
        }
    }
    if (v) {printf("4");return 0;}
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            t[i][j]=map[i][n-j+1];
        }
    }
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            map[i][j]=t[i][j];
        }
    }
    v=true;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            t[i][j]=map[n-j+1][i];
            if (t[i][j]!=ans[i][j]) {v=false; break;}
        }
    if (v) {printf("5");return 0;}
    v=true;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            t[i][j]=map[n-i+1][n-j+1];
            if (t[i][j]!=ans[i][j]) {v=false; break;}
        }
    }
    if (v) {printf("5");return 0;}
    v=true;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            t[i][j]=map[j][n-i+1];
            if (t[i][j]!=ans[i][j]) {v=false; break;}
        }
    }
    if (v) {printf("5");return 0;}
    v=true;
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            if (map[i][j]!=ans[i][j]) {v=false; break;}
        }
    }
    if (v)
    {
        printf("6");
        return 0;
    }
    printf("7");
}
2024/12/17 13:42
加载中...