zoukankan      html  css  js  c++  java
  • poj 2996

    提示:很烦很简单的国际象棋棋盘模拟,输入比较麻烦而已

    输出时:

    1、不论黑白,KQRBN P均是依次输出,强制大写,但不输出“P”,只输出其坐标

    2、对白棋的位置,小行优先大行输出(行的数字越小则优先)同行则按列的顺序(a~h)

    3、对黑棋的位置,大行优先小行输出(行的数字越大则优先)同行则按列的顺序(a~h)

    4、从2、3点可以看出,黑棋总是先被输入,白棋总是后输入,即黑棋总在棋盘上方,白棋总在棋盘下方,所以输入完成后,对于黑色棋子只需要按类型次序输出,同类型棋子的顺序就是输入的顺序;而白色棋子要考虑同类型棋子之间的排序,而同类型棋子之间又仅需要考虑不同行棋子之间的排序,同一行棋子的排序就是输入顺序

    5、棋子可能不齐全,不存在的棋子不输出,用标记解决

    6、最后的棋子后面不带逗号,要找出最后的棋子 

    题意转自  優YoU http://user.qzone.qq.com/289065406/blog/1299148268

    根据以上信息可以直接贴代码了

     1 #include<cstdio>
     2 #include<cstring>
     3 using namespace std;
     4 char white[]={'K','Q','R','B','N','P'};
     5 char black[]={'k','q','r','b','n','p'};
     6 char goal[10][10];
     7 int main()
     8 {
     9     char a,b,c,d;
    10     char s[100];
    11     gets(s);
    12     for(int j,i=7;i>=0;--i){
    13         getchar();
    14         for(j=0;j<=7;++j){
    15             scanf("%c%c%c%c",&a,&b,&c,&d);
    16             goal[i][j]=b;
    17         }
    18         getchar();gets(s);
    19     }
    20      printf("White: ");
    21      int flag=0;
    22     for(int k=0;k<6;++k)
    23         for(int j,i=0;i<=7;++i)
    24             for(j=0;j<=7;++j)
    25                  if(goal[i][j]==white[k]){
    26                      if(flag)    printf(",");
    27                      if(goal[i][j]!='P')    printf("%c%c%d",white[k],j+'a',i+1);
    28                      else    printf("%c%d",j+'a',i+1);
    29                      flag++;
    30                  }
    31                  printf("
    ");
    32     flag=0;
    33     printf("Black: ");
    34     for(int k=0;k<6;++k)
    35         for(int j,i=7;i>=0;--i)
    36             for(j=0;j<=7;++j)
    37                 if(goal[i][j]==black[k]){
    38                         if(flag)    printf(",");
    39                      if(goal[i][j]!='p')    printf("%c%c%d",white[k],j+'a',i+1);
    40                      else    printf("%c%d",j+'a',i+1);
    41                      flag++;
    42                 }
    43                 printf("
    ");
    44     return 0;
    45 } 
  • 相关阅读:
    java读取jar包中的文件
    mysql 常用命令搜集
    如何终端自动导入cer开发证书到钥匙串
    解决第三方库私有api造成的apple审核不通过。
    push证书过期,不需要升级客户端。
    mac下面新建qq(多开/打开多个)登录方法
    行动力才是王道
    wordpress | 网站访问速度优化方案(Avada)
    HTML | video的封面平铺方法
    PHP | 获取数组长度的方法
  • 原文地址:https://www.cnblogs.com/sasuke-/p/5118086.html
Copyright © 2011-2022 走看看