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;
    } 
     
  • 相关阅读:
    由Highcharts加载提示想到的:我想要的别人已经做好了
    ajaxmin js压缩和VS(转1)
    ajaxmin js压缩和VS(转2)
    Silverlight客户端怎样获取外部参数
    SQL中的事务
    qt webkit 中文乱码问题 另辟蹊径
    密码学基础(1)
    使用jQuery的属性[attr]筛选
    Leetcode NO.19 Remove Nth Node From End Of List && 移除链表倒数第n个节点
    经典排序算法(一) —— Selection Sort 选择排序
  • 原文地址:https://www.cnblogs.com/CLGYPYJ/p/7341395.html
Copyright © 2011-2022 走看看