简体:
码力题/大模拟.
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<vector>
#include<cstring>
#include<stack>
const int maxn = 1e2+7;
using namespace std;
char grid[maxn][maxn];
void print(int y,int x){
string temp;
if((y+x)%2){
temp = "...";
}else{
temp = ":::";
}
if(grid[y][x]) temp[1] = grid[y][x];
cout << temp << "|";
}
void output(){
for(int i = 8;i>=1;i--){
cout << "+---+---+---+---+---+---+---+---+" << endl;
cout << '|';
for(int j = 1;j<=8;j++){
print(i,j);
}
cout << endl;
}
cout << "+---+---+---+---+---+---+---+---+" << endl;
}
void pro(int type){
string s;getline(cin,s);
s = s.substr(7);
vector<string> v;
string temp;
s+=',';
for(int i = 0;i<s.size();i++){
if(s[i] == ','){
v.push_back(temp);
temp="";
}else{
temp+=s[i];
}
}
for(int i = 0;i<v.size();i++){
int y,x;
if(v[i].size()>2){
x = v[i][1]-'a'+1;
y = v[i][2]-'0';
grid[y][x] = v[i][0];
}else{
x = v[i][0]-'a'+1;
y = v[i][1]-'0';
grid[y][x] = 'P';
}
if(type){
grid[y][x] -= 'A';
grid[y][x] += 'a';
}
}
}
int main(){
#ifdef LOCAL
freopen("in.txt","r",stdin);
#endif
ios::sync_with_stdio(0);
pro(0);
pro(1);
output();
}