p1205 71分第二、七测试点错误
查看原帖
p1205 71分第二、七测试点错误
1256608
Z09103839楼主2024/10/18 23:07

#include<iostream>
#include<vector>
using namespace std;
 //book检验,0真1假
int book[8];
int main(){
    int n;
    cin>>n;
    if(n == 1){
        char a,b;
        cin>>a>>b;
        cout<<1;
    }else{
        vector<vector<char>> a(n+1,vector<char>(n+1));
        vector<vector<char>> b(n+1,vector<char>(n+1));
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                cin>>a[i][j];
            }
        }
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                cin>>b[i][j];
            }
        }
        //book检验,0真1假
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                //1顺时针翻转90
                if(b[j][n + 1 - i] != a[i][j]){
                    book[1] = 1;
                }
                //2翻转180
                if(b[n + 1 - i][n + 1 - j] != a[i][j]){
                    book[2] = 1;
                }
                //3转270
                if(b[n + 1 - j][i] != a[i][j]){
                    book[3] = 1;
                }
                //4水平翻转
                if(b[i][n + 1 - j] != a[i][j]){
                    book[4] = 1;
                }
                //5组合
                if(b[n + 1 - j][n + 1 - i] !=a[i][j] || b[n + 1 - i][j] !=a[i][j] || b[j][i] !=a[i][j]){
                    book[5] = 1;
                }
                //6不变
                if(b[i][j] != a[i][j]){
                    book[6] = 1;
                }
                
            }
        }
        //输出答案
        for(int i=1;i<=7;i++){
            if(!book[i]){cout<<i<<endl;break;}
        }
    }
    return 0;
}

有无大佬看出哪有问题

2024/10/18 23:07
加载中...