20分求助
  • 板块P1838 三子棋I
  • 楼主Greeper
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/8/22 12:07
  • 上次更新2024/8/22 15:14:07
查看原帖
20分求助
1311900
Greeper楼主2024/8/22 12:07
#include<bits/stdc++.h>
using namespace std;
int mp[5][5];
bool w;
int main()
{
    int x;
    while(scanf("%1d",&x))
    {
        if(x<=3)
            mp[1][x]=w+1;
        else if(x<=6)
            mp[2][x%3]=w+1;
        else
            mp[3][x%3]=w+1;
        w=1-w;
        bool f=0;
        int q=1;
        for(int i=1;i<=3;i++)
        {
            if(mp[i][1]==mp[i][2]&&mp[i][2]==mp[i][3])
                f=1,q=mp[i][1];
            if(mp[1][i]==mp[2][i]&&mp[2][i]==mp[3][i])
                f=1,q=mp[1][i];
        }
        if(mp[1][1]==mp[2][2]&&mp[2][2]==mp[3][3]||mp[1][3]==mp[2][2]&&mp[2][2]==mp[3][1])f=1,q=mp[2][2];
        if(f)
        {
            if(q==1)
                cout<<"xiaoa wins.";
            else
                cout<<"uim wins.";
            return 0;
        }
    }
    cout<<"drew.";
    return 0;
}
2024/8/22 12:07
加载中...