poj 2993 Emag eht htiw Em Pleh 模拟

参考 2996思路模拟

code:

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
using namespace std;
#define maxn 105
char str[maxn];
char m[9][9];
int has[128];
int main(){
    has['K']=1;has['Q']=2;has['R']=3;has['B']=4;has['N']=5;has['P']=6;
    has['k']=7;has['q']=8;has['r']=9;has['b']=10;has['n']=11;has['p']=12;
    memset(m,0,sizeof(m));
    for(int i=1;i<=8;++i)
        for(int j=1;j<=8;++j)
            if((i+j)%2==0)m[i][j]=':';
            else m[i][j]='.';
    int len,x,y;
    scanf("%s",str);
    scanf("%s",str);
    len=strlen(str);
    for(int i=0;i<len;++i){
        if(str[i]=='K'){
            y=str[i+1]-'a'+1;
            x=str[i+2]-'0';
            m[x][y]='K';
            i+=2;
        }
        else if(str[i]=='Q'){
            y=str[i+1]-'a'+1;
            x=str[i+2]-'0';
            m[x][y]='Q';
            i+=2;
        }
        else if(str[i]=='R'){
            y=str[i+1]-'a'+1;
            x=str[i+2]-'0';
            m[x][y]='R';
            i+=2;
        }
        else if(str[i]=='B'){
            y=str[i+1]-'a'+1;
            x=str[i+2]-'0';
            m[x][y]='B';
            i+=2;
        }
        else if(str[i]=='N'){
            y=str[i+1]-'a'+1;
            x=str[i+2]-'0';
            m[x][y]='N';
            i+=2;
        }
        else if(str[i]==',')continue;
        else {
            y=str[i]-'a'+1;
            x=str[i+1]-'0';
            m[x][y]='P';
            i++;
        }
    }
    scanf("%s",str);
    scanf("%s",str);
    len=strlen(str);
    for(int i=0;i<len;++i){
        if(str[i]=='K'){
            y=str[i+1]-'a'+1;
            x=str[i+2]-'0';
            m[x][y]='k';
            i+=2;
            continue;
        }
        else if(str[i]=='Q'){
            y=str[i+1]-'a'+1;
            x=str[i+2]-'0';
            m[x][y]='q';
            i+=2;
            continue;
        }
        else if(str[i]=='R'){
            y=str[i+1]-'a'+1;
            x=str[i+2]-'0';
            m[x][y]='r';
            i+=2;
            continue;
        }
        else if(str[i]=='B'){
            y=str[i+1]-'a'+1;
            x=str[i+2]-'0';
            m[x][y]='b';
            i+=2;
            continue;
        }
        else if(str[i]=='N'){
            y=str[i+1]-'a'+1;
            x=str[i+2]-'0';
            m[x][y]='n';
            i+=2;
            continue;
        }
        else if(str[i]==',')continue;
        else {
            y=str[i]-'a'+1;
            x=str[i+1]-'0';
            m[x][y]='p';
            i++;
        }
    }
    printf("+---+---+---+---+---+---+---+---+\n");
    printf("|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|\n",m[8][1],m[8][2],m[8][3],m[8][4],m[8][5],m[8][6],m[8][7],m[8][8]);
    printf("+---+---+---+---+---+---+---+---+\n");
    printf("|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|\n",m[7][1],m[7][2],m[7][3],m[7][4],m[7][5],m[7][6],m[7][7],m[7][8]);
    printf("+---+---+---+---+---+---+---+---+\n");
    printf("|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|\n",m[6][1],m[6][2],m[6][3],m[6][4],m[6][5],m[6][6],m[6][7],m[6][8]);
    printf("+---+---+---+---+---+---+---+---+\n");
    printf("|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|\n",m[5][1],m[5][2],m[5][3],m[5][4],m[5][5],m[5][6],m[5][7],m[5][8]);
    printf("+---+---+---+---+---+---+---+---+\n");
    printf("|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|\n",m[4][1],m[4][2],m[4][3],m[4][4],m[4][5],m[4][6],m[4][7],m[4][8]);
    printf("+---+---+---+---+---+---+---+---+\n");
    printf("|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|\n",m[3][1],m[3][2],m[3][3],m[3][4],m[3][5],m[3][6],m[3][7],m[3][8]);
    printf("+---+---+---+---+---+---+---+---+\n");
    printf("|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|\n",m[2][1],m[2][2],m[2][3],m[2][4],m[2][5],m[2][6],m[2][7],m[2][8]);
    printf("+---+---+---+---+---+---+---+---+\n");
    printf("|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|:%c:|.%c.|\n",m[1][1],m[1][2],m[1][3],m[1][4],m[1][5],m[1][6],m[1][7],m[1][8]);
    printf("+---+---+---+---+---+---+---+---+");
    return 0;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值