题解 | 小红的夹吃棋

小红的夹吃棋

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")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务