• codeforces 3C


    原题链接:

      http://codeforces.com/problemset/problem/3/C

    题意:

      题很简单,就是给你一个井字棋的一个棋局,让你判断一下(1)谁输谁赢(2)接下来谁下(3)棋局不符合要求(4)平局

      之所以写这个博客就是一位(3)的情况有些多;

      1 #include<cstdio>
      2 #include<iostream>
      3 #include<cstring>
      4 #include<cmath>
      5 #include<algorithm>
      6 
      7 using namespace std;
      8 
      9 int main()
     10 {
     11     char a[3][3];
     12     int i,j,cro=0,nou=0,fg1=0,fg2=0;
     13     for(i=0;i<3;i++)
     14     {
     15         for(j=0;j<3;j++)
     16         {
     17             scanf("%c",&a[i][j]);
     18             if(a[i][j]=='X')
     19                 cro++;
     20             if(a[i][j]=='0')
     21                 nou++;
     22         }
     23         getchar();
     24     }
     25     if(cro<nou||cro-nou>=2)  //先手的步数要么比后手多一步,要么相等;其他的都是非法的
     26         printf("illegal
    ");
     27     else 
     28     {
     29         
     30         if(a[0][0]==a[1][0]&&a[1][0]==a[2][0]&&a[0][0]!='.')  //下面八个判断是判断那个玩家能三点一线 分别记录
     31         {
     32             if(a[0][0]=='X')
     33                 fg1=1;
     34             else
     35                 fg2=1;
     36         }
     37         if(a[0][1]==a[1][1]&&a[1][1]==a[2][1]&&a[0][1]!='.')
     38         {
     39             if(a[0][1]=='X')
     40                 fg1=1;
     41             else
     42                 fg2=1;
     43         }
     44         if(a[0][2]==a[1][2]&&a[1][2]==a[2][2]&&a[0][2]!='.')
     45         {
     46             if(a[0][2]=='X')
     47                 fg1=1;
     48             else
     49                 fg2=1;
     50         }
     51         if(a[0][0]==a[0][1]&a[0][1]==a[0][2]&&a[0][0]!='.')
     52         {
     53             if(a[0][0]=='X')
     54                 fg1=1;
     55             else
     56                 fg2=1;
     57         }
     58         if(a[1][0]==a[1][1]&a[1][1]==a[1][2]&&a[1][0]!='.')
     59         {
     60             if(a[1][0]=='X')
     61                 fg1=1;
     62             else
     63                 fg2=1;
     64         }
     65         if(a[2][0]==a[2][1]&a[2][1]==a[2][2]&&a[2][0]!='.')
     66         {
     67             if(a[2][0]=='X')
     68                 fg1=1;
     69             else
     70                 fg2=1;
     71         }
     72         if(a[0][0]==a[1][1]&&a[1][1]==a[2][2]&&a[0][0]!='.')
     73         {
     74             if(a[0][0]=='X')
     75                 fg1=1;
     76             else
     77                 fg2=1;
     78         }
     79         if(a[0][2]==a[1][1]&&a[1][1]==a[2][0]&&a[0][2]!='.')
     80         {
     81             if(a[0][2]=='X')
     82                 fg1=1;
     83             else
     84                 fg2=1;
     85         }
     86         if(fg1&&fg2)   //不能两个人都能三点一线,也就是说有一人三点一线 游戏就结束
     87         {
     88             printf("illegal
    ");
     89         }
     90         else if(fg1&&!fg2)
     91         {
     92             if(cro==nou)
     93                 printf("illegal
    ");
     94             else
     95                 printf("the first player won
    ");
     96         }
     97         else if(fg2&&!fg1)
     98         {
     99             if(cro>nou)
    100                 printf("illegal
    ");
    101             else
    102                 printf("the second player won
    ");
    103         }
    104         else if(!fg1&&!fg2)  //没有人三点一线
    105         {
    106             if(cro+nou==9)  //九个格子都用完了 平局
    107                 printf("draw
    ");
    108             else        //棋没下完,判断接下来谁下
    109             {
    110                 if(cro>nou)
    111                     printf("second
    ");
    112                 else if(cro==nou)
    113                     printf("first
    ");
    114             }
    115         }
    116         
    117     }
    118 
    119     return 0;
    120 }

    ----------------欢迎指点评论------------------

  • 相关阅读:
    oracle 10g 免安装客户端在windows下配置
    sql2005 sa密码
    使用windows live writer 有感
    windows xp SNMP安装包提取
    汉化groove2007
    迁移SQL server 2005 Reporting Services到SQL server 2008 Reporting Services全程截图操作指南
    foxmail 6在使用中的问题
    AGPM客户端连接不上服务器解决一例
    SpringSource Tool Suite add CloudFoundry service
    Java 之 SWing
  • 原文地址:https://www.cnblogs.com/x-x-y/p/7029009.html
Copyright © 2020-2023  润新知