参考 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;
}