题解 | 小红的夹吃棋
小红的夹吃棋
https://www.nowcoder.com/practice/94648fd37a644c76adb2adb29c2a3037
#include <iostream>
#include <vector>
using namespace std;
int main() {
int t;
cin>>t;
while (t--) { // 注意 while 处理多个 case
string s1;
string s2;
string s3;
bool kou = false;
bool yukari = false;
cin>>s1;
cin>>s2;
cin>>s3;
for(int i = 0;i<9;i++)
{
if(i==1 || i==3 || i==7 || i == 9)
continue;
switch(i)
{
case 2:
{
if(s1[1]=='o')
{
if(s1[0]=='*' && s1[2]=='*')
{
kou = true;
}
}
if(s1[1]=='*')
{
if(s1[0]=='o' && s1[2]=='o')
{
yukari = true;
}
}
}
break;
case 8:
{
if(s3[1]=='o')
{
if(s3[0]=='*' && s3[2]=='*')
{
kou = true;
}
}
if(s3[1]=='*')
{
if(s3[0]=='o' && s3[2]=='o')
{
yukari = true;
}
}
}
break;
case 4:
{
if(s2[0]=='o' && !kou)
{
if(s1[0]=='*' && s3[0]=='*')
{
kou = true;
}
}
if(s2[0]=='*' && !yukari)
{
if(s1[0]=='o' && s3[0]=='o')
{
yukari = true;
}
}
}
break;
case 6:
{
if(s2[2]=='o' && !kou)
{
if(s1[2]=='*' && s3[2]=='*')
{
kou = true;
}
}
if(s2[2]=='*' && !yukari)
{
if(s1[2]=='o' &&s3[2]=='o')
{
yukari = true;
}
}
}
break;
case 5:
{
if(s2[1]=='o' && !kou)
{
if(s1[1]=='*' && s3[1]=='*')
{
kou = true;
}
if(s2[0]=='*' && s2[2]=='*')
{
kou = true;
}
}
if(s2[1]=='*' && !yukari)
{
if(s1[1]=='o' && s3[1]=='o')
{
yukari = true;
}
if(s2[0]=='o' && s2[2]=='o')
{
yukari = true;
}
}
}
}
}
if(yukari&&!kou)
{
cout<<"yukari"<<endl;
}
else if(!yukari&&kou)
{
cout<<"kou"<<endl;
}
else
{
cout<<"draw"<<endl;
}
}
}
// 64 位输出请用 printf("%lld")
携程成长空间 146人发布