为什么就1过了,自己测试感觉没问题啊,求助
查看原帖
为什么就1过了,自己测试感觉没问题啊,求助
914883
shy2757539057楼主2023/7/17 09:12
#include <iostream>
using namespace std;

int main()
{
    int n;//规模
    scanf("%d",&n);
    char** before=(char**)malloc(sizeof(char*)*n);
    char** after=(char**)malloc(sizeof(char*)*n);
    for(int i=0;i<n;i++){
        before[i]=(char*)malloc(sizeof(char)*n);
        after[i]=(char*)malloc(sizeof(char)*n);
    }
    char ch;
    for(int i=0;i<n;i++)
        for(int j=0;j<n;){
            scanf("%c",&ch);
            if(ch!='\n'){
                before[i][j]=ch;
                j++;
            }
        }
    for(int i=0;i<n;i++)
        for(int j=0;j<n;){
            scanf("%c",&ch);
            if(ch!='\n'){
                after[i][j]=ch;
                j++;
            }
        }
    ////////////以上为输入
    // for(int i=0;i<n;i++)
    //     for(int j=0;j<n;j++)
    //         printf("%c",after[i][j]);
    bool judge=1;
    for(int i=0;i<n;i++){////////1
        for(int j=0;j<n;j++){
            if(before[i][j]!=after[j][n-1-i]){
                judge=0;
                break;
            }
        }
        if(!judge)
            break;
    }
    if(judge){
        printf("1");
        return 0;
    }
    judge=1;
    for(int i=0;i<n;i++){///////////////2
        for(int j=0;j<n;j++){
            if(before[i][j]!=after[n-1-i][n-1-j]){
                judge=0;
                break;
            }
        }
        if(!judge)
            break;
    }
    if(judge){
        printf("2");
        return 0;
    }
    judge=1;
    for(int i=0;i<n;i++){/////////////////3
        for(int j=0;j<n;j++){
            if(before[i][j]!=after[n-1-j][i]){
                judge=0;
                break;
            }
        }
        if(!judge)
            break;
    }
    if(judge){
        printf("3");
        return 0;
    }
    judge=1;
    for(int i=0;i<n;i++){////////////////4
        for(int j=0;j<n;j++){
            if(before[i][j]!=after[i][n-1-j]){
                judge=0;
                break;
            }
        }
        if(!judge)
            break;
    }
    if(judge){
        printf("4");
        return 0;
    }
    judge=1;
    for(int i=0;i<n;i++){////////////////5
        for(int j=0;j<n;j++){
            if(before[i][j]!=after[n-1-j][n-1-i]){
                judge=0;
                break;
            }
        }
        if(!judge)
            break;
    }
    if(judge){
        printf("5");
        return 0;
    }
    judge=1;
    for(int i=0;i<n;i++){////////////////5
        for(int j=0;j<n;j++){
            if(before[i][j]!=after[n-1-i][j]){
                judge=0;
                break;
            }
        }
        if(!judge)
            break;
    }
    if(judge){
        printf("5");
        return 0;
    }
    judge=1;
    for(int i=0;i<n;i++){/////////////////5
        for(int j=0;j<n;j++){
            if(before[i][j]!=after[j][i]){
                judge=0;
                break;
            }
        }
        if(!judge)
            break;
    }
    if(judge){
        printf("5");
        return 0;
    }
    judge=1;
    for(int i=0;i<n;i++){///////////////////6
        for(int j=0;j<n;j++){
            if(before[i][j]!=after[i][j]){
                judge=0;
                break;
            }
        }
        if(!judge)
            break;
    }
    if(judge){
        printf("6");
        return 0;
    }
    printf("7");////////////////7
    return 0;
}

2023/7/17 09:12
加载中...