Description
This problem is a reverse case of the
problem 2996. You are given the output of the problem H and your task is to find the corresponding input.
Input
according to output of
problem 2996.
Output
according to input of
problem 2996.
Sample Input
White: Ke1,Qd1,Ra1,Rh1,Bc1,Bf1,Nb1,a2,c2,d2,f2,g2,h2,a3,e4 Black: Ke8,Qd8,Ra8,Rh8,Bc8,Ng8,Nc6,a7,b7,c7,d7,e7,f7,h7,h6
Sample Output
+---+---+---+---+---+---+---+---+ |.r.|:::|.b.|:q:|.k.|:::|.n.|:r:| +---+---+---+---+---+---+---+---+ |:p:|.p.|:p:|.p.|:p:|.p.|:::|.p.| +---+---+---+---+---+---+---+---+ |...|:::|.n.|:::|...|:::|...|:p:| +---+---+---+---+---+---+---+---+ |:::|...|:::|...|:::|...|:::|...| +---+---+---+---+---+---+---+---+ |...|:::|...|:::|.P.|:::|...|:::| +---+---+---+---+---+---+---+---+ |:P:|...|:::|...|:::|...|:::|...| +---+---+---+---+---+---+---+---+ |.P.|:::|.P.|:P:|...|:P:|.P.|:P:| +---+---+---+---+---+---+---+---+ |:R:|.N.|:B:|.Q.|:K:|.B.|:::|.R.| +---+---+---+---+---+---+---+---+
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <stack>
#include <algorithm>
#define LL long long
#define INF 0x3f3f3f3f
using namespace std;
char Map[100][100];
int main()
{
char s[110];
gets(s);
int len = strlen(s);
for(int i=0; i<len; i++)
{
if(s[i]>='0' && s[i]<='9')
{
if(s[i-2] != ',')
{
int xx = s[i] - '0';
int yy = s[i-1] - 'a';
Map[xx][yy] = s[i-2];
}
else
{
int xx = s[i] - '0';
int yy = s[i-1] - 'a';
Map[xx][yy] = 'P';
}
}
}
gets(s);
len = strlen(s);
for(int i=0; i<len; i++)
{
if(s[i]>='0' && s[i]<='9')
{
if(s[i-2] != ',')
{
int xx = s[i] - '0';
int yy = s[i-1] - 'a';
Map[xx][yy] = s[i-2] + 32;
}
else
{
int xx = s[i] - '0';
int yy = s[i-1] - 'a';
Map[xx][yy] = 'p';
}
}
}
for(int i=8; i>=1; i--)
{
bool flag;
printf("+---+---+---+---+---+---+---+---+\n");
printf("|");
if(i%2 == 0)
flag = false;
else
flag = true;
for(int j=0; j<8; j++)
{
if(!flag)
{
if(Map[i][j])
printf(".%c.|",Map[i][j]);
else
printf("...|");
flag = !flag;
}
else
{
if(Map[i][j])
printf(":%c:|",Map[i][j]);
else
printf(":::|");
flag = !flag;
}
}
printf("\n");
}
printf("+---+---+---+---+---+---+---+---+\n");
return 0;
}

607

被折叠的 条评论
为什么被折叠?



