zoukankan      html  css  js  c++  java
  • poj 2993

    今天心情不好  找个代码  看着不错  直接提交

    #include<iostream>
    #include<cstring>
    using namespace std;
    const int Max = 100;
    
     
    
    char map[17][34] = { "+---+---+---+---+---+---+---+---+",
                         "|...|:::|...|:::|...|:::|...|:::|",
                         "+---+---+---+---+---+---+---+---+",
                         "|:::|...|:::|...|:::|...|:::|...|",
                         "+---+---+---+---+---+---+---+---+",
                         "|...|:::|...|:::|...|:::|...|:::|",
                         "+---+---+---+---+---+---+---+---+",
                         "|:::|...|:::|...|:::|...|:::|...|",
                         "+---+---+---+---+---+---+---+---+",
                         "|...|:::|...|:::|...|:::|...|:::|",
                         "+---+---+---+---+---+---+---+---+",
                         "|:::|...|:::|...|:::|...|:::|...|",
                         "+---+---+---+---+---+---+---+---+",
                         "|...|:::|...|:::|...|:::|...|:::|",
                         "+---+---+---+---+---+---+---+---+",
                         "|:::|...|:::|...|:::|...|:::|...|",
                         "+---+---+---+---+---+---+---+---+" };
    
     
    
    int find_r(char n){   //  找出棋子在棋盘上所对应的横坐标。
        int r = n -'1';
        r = 7 - r;
        return 2 * r + 1; 
    
    }
    
     
    
    int find_c(char n){    //  找出棋子在棋盘上所对应的纵坐标。
        int c = n - 'a';
        return 4 * c + 2;
    }
    
     
    
    int main(){
        int i, j;
        char str[Max], r, c;
    
    
        gets(str);   //  记得得用gets(),因为串内有空格符。
        for(i = 7; str[i] >= 'A' && str[i] <= 'Z'; i += 4){   //  处理白棋K, Q, R, B和N。
            r = find_r(str[i + 2]);
            c = find_c(str[i + 1]);
            map[r][c] = str[i];
        }
        for(j = i; str[j] >= 'a' && str[j] <= 'z'; j += 3){   //  处理白棋的p。
            r = find_r(str[j + 1]);
            c = find_c(str[j]);
            map[r][c] = 'P';
        }
    
    
        gets(str);
        for(i = 7; str[i] >= 'A' && str[i] <= 'Z'; i += 4){   //  处理黑棋K, Q, R, B和N。
            r = find_r(str[i + 2]);
            c = find_c(str[i + 1]);
            map[r][c] = str[i] + 32;
        }
        for(j = i; str[j] >= 'a' && str[j] <= 'z'; j += 3){   //  处理黑棋的p。
            r = find_r(str[j + 1]);
            c = find_c(str[j]);
            map[r][c] = 'p';
        }
    
    
        for(i = 0; i < 17; i ++){
            for(j = 0; j < 33; j ++)
                cout << map[i][j];
            cout << endl;
        }
        return 0;
    } 
    
    
     
    
    
    
  • 相关阅读:
    TUN/TAP区别
    从日志文件解决ArcGIS Server性能低下问题的步骤(1)
    java异常
    Maven
    前车之鉴-web篇
    图论复习总结
    奇(qi)谋(ji)巧(yin)计(qiao)
    莫比乌斯反演呓语
    学习后缀数组笔记
    浅读叶青学长竞赛学习知识目录
  • 原文地址:https://www.cnblogs.com/zhangdashuai/p/3762128.html
Copyright © 2011-2022 走看看