题目:

思路:
1.利用打表的方法,可能四种情况会赢:行,列,主对角线,次对角线
代码如下(注意数组一定要初始化,刚开始我没有初始化,以为会默认为0,其实不会,所以以后遇到数组一定要初始化
它是随机的初始化为0
)
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int main(){
int hang[10]={0,
1,1,1,
2,2,2,
3,3,3};
int lie[10]={0,
4,5,6,
4,5,6,
4,5,6};
int x1[10]={0,
7,0,0,
0,7,0,
0,0,7
};
int x2[10]={0,
0,0,8,
0,8,0,
8,0,0
};
string s;
cin>>s;
int a[2][9];
for(int i=0;i<2;i++)
for(int j=0;j<9;j++)
a[i][j]=0;
for(int i=0;i<s.size();i++)
{
a[i%2][hang[s[i]-'0']]++;
a[i%2][lie[s[i]-'0']]++;
a[i%2][x1[s[i]-'0']]++;
a[i%2][x2[s[i]-'0']]++;
}
// cout<<a[0][6]<<endl;
for(int i=1;i<9;i++){
if(a[0][i]==3) {
cout<<"xiaoa wins.";
return 0;
}
else if(a[1][i]==3){
cout<<"uim wins.";
return 0;
}
}
cout<<"drew.";
return 0;
}