zoukankan      html  css  js  c++  java
  • 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 }

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

  • 相关阅读:
    jQuery EasyUI API 中文文档
    easyui datagrid使用
    Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
    JQueryEasyUI datagrid框架的基本使用
    使用easyUI 创建复杂的toolbar到datagrid
    转换和删除重复命令tr
    格式化文本数据抽取工具awk
    流编辑器sed
    查找文本工具grep
    查找文件工具find
  • 原文地址:https://www.cnblogs.com/x-x-y/p/7029009.html
Copyright © 2011-2022 走看看