小a和uim喜欢互相切磋三子棋。~三子棋大家都玩过是吗?就是在九宫格里面OOXX(别想歪了),谁连成3个就赢了。
由于小a比较愚蠢,uim总是让他先。
我们用9个数字表示棋盘位置:123 456 789 所有的棋谱都是已经结束的棋局,要么一方获胜,要么平局。
今天,他们下了一下午的棋,小a为了提高技术,
录下了很多棋谱。他想知道,一盘棋结束时,到底是谁赢。
一行,如果小a赢,输出“xiaoa wins.”。如果uim赢,输出“uim wins.”。如果平局,输出“drew.”
#include <bits/stdc++.h>
using namespace std;
bool m[10][10];
int main(){
string s;
cin >> s;
if (s.size() < 9){
if (s.size()%2)
cout << "xiaoa wins.\n";
else
cout << "uim wins.\n";
return 0;
}//没有下满就最后下的人获胜
for (int i = 0; i < s.size(); i++){
int x = (s[i]-'0')/3+1;
int y = (s[i]-'0')%3+1;
m[x][y] = bool(i%2);
}
for (int i = 1; i <= 3; i++){
if (m[i][1] == m[i][2] && m[i][2] == m[i][3])
{
if (m[i][1]) cout << "uim wins.\n";
else cout << "xiaoa wins.\n";
return 0;
}
if (m[1][i] == m[2][i] && m[2][i] == m[3][i])
{
if (m[1][i]) cout << "uim wins.\n";
else cout << "xiaoa wins.\n";
return 0;
}
}
if (m[1][1] == m[2][2] && m[2][2] == m[3][3])
{
if (m[1][1]) cout << "uim wins.\n";
else cout << "xiaoa wins.\n";
return 0;
}
if (m[1][3] == m[2][2] && m[2][2] == m[3][1])
{
if (m[1][3]) cout << "uim wins.\n";
else cout << "xiaoa wins.\n";
return 0;
}
cout << "drew.\n";
return 0;
}
(就是把int x = (s[i]-'0')/3+1;改成了int x = (s[i]-'0'-1)/3+1;)
#include <bits/stdc++.h>
using namespace std;
bool m[10][10];
int main(){
string s;
cin >> s;
if (s.size() < 9){
if (s.size()%2)
cout << "xiaoa wins.\n";
else
cout << "uim wins.\n";
return 0;
}//没有下满就最后下的人获胜
for (int i = 0; i < s.size(); i++){
int x = (s[i]-'0')/3+1;
int y = (s[i]-'0'-1)%3+1;
m[x][y] = bool(i%2);
}
for (int i = 1; i <= 3; i++){
if (m[i][1] == m[i][2] && m[i][2] == m[i][3])
{
if (m[i][1]) cout << "uim wins.\n";
else cout << "xiaoa wins.\n";
return 0;
}
if (m[1][i] == m[2][i] && m[2][i] == m[3][i])
{
if (m[1][i]) cout << "uim wins.\n";
else cout << "xiaoa wins.\n";
return 0;
}
}
if (m[1][1] == m[2][2] && m[2][2] == m[3][3])
{
if (m[1][1]) cout << "uim wins.\n";
else cout << "xiaoa wins.\n";
return 0;
}
if (m[1][3] == m[2][2] && m[2][2] == m[3][1])
{
if (m[1][3]) cout << "uim wins.\n";
else cout << "xiaoa wins.\n";
return 0;
}
cout << "drew.\n";
return 0;
}