zoukankan      html  css  js  c++  java
  • P1838 三子棋I

    题目描述

    小a和uim喜欢互相切磋三子棋。三子棋大家都玩过是吗?就是在九宫格里面OOXX(别想歪了),谁连成3个就赢了。

    由于小a比较愚蠢,uim总是让他先。

    我们用9个数字表示棋盘位置:

    123 456 789 所有的棋谱都是已经结束的棋局,要么一方获胜,要么平局。

    今天,他们下了一下午的棋,小a为了提高技术,录下了很多棋谱。他想知道,一盘棋结束时,到底是谁赢。

    输入输出格式

    输入格式:

    一行,一串数字,表示落子的地点。小a总是先下

    输出格式:

    一行,如果小a赢,输出“xiaoa wins.”。如果uim赢,输出“uim wins.”。如果平局,输出“drew.”

    输入输出样例

    输入样例#1:
    5237649
    
    输出样例#1:
    xiaoa wins.
    
    输入样例#2:
    539128647
    输出样例#2:
    drew.

    没啥好说的,就是每走一步就判断一下。
    #include<iostream>
    #include<cstdio>
    #include<string.h>
    #include<algorithm>
    #include<math.h>
    using namespace std;
    int    a[10];
    int  n,t=0;
    void check()
    {
        if((a[1]==a[2]&&a[2]==a[3])||(a[1]==a[4]&&a[4]==a[7])||(a[1]==a[5]&&a[5]==a[9]))
            {
                int o=a[1];
                if(o==1)
                {
                    printf("xiaoa wins.");
                    exit(0);
                }else if(o==2)
                {
                    printf("uim wins.");
                    exit(0);
                }
            }else
        if((a[6]==a[3]&&a[6]==a[9])||(a[6]==a[5]&&a[6]==a[4]))
        {
            int o=a[6];
                if(o==1)
                {
                    printf("xiaoa wins.");
                    exit(0);
                }else if(o==2)
                {
                    printf("uim wins.");
                    exit(0);
                }
        }else
        if((a[8]==a[7]&&a[8]==a[9])||(a[8]==a[5]&&a[5]==a[2]))
        {
            int o=a[8];
                if(o==1)
                {
                    printf("xiaoa wins.");
                    exit(0);
                }else if(o==2)
                {
                    printf("uim wins.");
                    exit(0);
                }
        }else
        if((a[7]==a[5]&&a[5]==a[3]))
        {
            int o=a[7];
                if(o==1)
                {
                    printf("xiaoa wins.");
                    exit(0);
                }else if(o==2)
                {
                    printf("uim wins.");
                    exit(0);
                }
        }
    }
    int main()
    {
        char  c;
        while(scanf("%c",&c))
        {
            n=c-'0';
            if(c=='
    ')    break;
            t++;
            if(t%2)    a[n]=1;
            else a[n]=2;
            check();
        }
        cout<<"drew.";
        return 0;
    } 
     
  • 相关阅读:
    23种设计模式
    <转>企业应用架构 --- 分层
    <转>C/S架构分析
    Decorator 模式转载
    2019-10-24 体检结果备查,降甘油三脂药物
    Entity Framework Core 文档 & Core Web API 文档
    MSSQLLocalDB 微软本地数据库,pk SQLlite
    InstallWatch Pro
    学习 skoruba/ IdentityServer4.Admin 完整版
    无代码与低代码开发平台,云+本地,阿里/腾讯
  • 原文地址:https://www.cnblogs.com/CLGYPYJ/p/7341395.html
Copyright © 2011-2022 走看看