为什么在本地跑得过样例,但评测直接一片紫啊
查看原帖
为什么在本地跑得过样例,但评测直接一片紫啊
448840
gzj20081004楼主2022/10/1 17:42

就离谱

#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
int find(int a[]){
    if (a[1] == a[2] && a[2] == a[3]){
        if(a[1] == 1)return 1;
        else if(a[1] == 2)return 2;
    }
    if (a[1] == a[4] && a[4] == a[7]){
        if(a[1] == 1)return 1;
        else if(a[1] == 2)return 2;
    }
    if (a[7] == a[8] && a[8] == a[9]){
        if(a[7] == 1)return 1;
        else if(a[1] == 2)return 2;
    }
    if (a[1] == a[5] && a[5] == a[9])
        if(a[1] == 1)return 1;
        else if(a[1] == 2)return 2;
    if(a[2] == a[5] && a[5] == a[8])
        if(a[2] == 1)return 1;
        else if(a[2] == 2)return 2;
    if(a[3] == a[5] && a[5] == a[7])
        if(a[3] == 1)return 1;
        else if(a[3] == 2)return 2;
    if(a[4] == a[5] && a[5] == a[6])
        if(a[4] == 1)return 1;
        else if(a[4] == 2)return 2;
    if(a[3] == a[6] && a[6] == a[9])
        if(a[3] == 1)return 1;
        else if(a[3] == 2)return 2; 
    return 0;
}
void put(int a[]){
    for(int i = 1; i <= 9;i++){
        if (i%3==0){
            cout << a[i] << endl;
            continue;
        }
        cout << a[i];
    }
}
int game[10];
int main(){
    int a;
    //put(game);
    bool k = 0;
    while ((a = cin.get()) != '\n'){
        a -= '0';
        //cout << a << endl;
        game[a] = k==1?2:1;
        k = !k;
    }
    //put(game);
    int f = find(game);
    if (f==1){
        printf("xiaoa wins.");
        return 0;
    }
    if(f == 2) {
        printf("uim wins.");
        return 0;
    }
    printf("drew.");
    return 0;
}
2022/10/1 17:42
加载中...