Emag eht htiw Em Pleh
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 3386 | Accepted: 2218 |
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 <stdio.h>
#include <string.h>#include <algorithm>
using namespace std;
char ch[1002][1002];
char b[1002];
char a[1002];
void get()
{
int i,j;
int flog = 0;
for(i = 0;i < 8 ; i++)
{
if(flog == 1)
flog = 0;
else
flog = 1;
for(j = 0;j< 32; j)
{
if(flog == 1)
{
ch[i][j++] = '|';
ch[i][j++] = '.';
ch[i][j++] = '.';
ch[i][j++] = '.';
flog = 0;
}
else
{
ch[i][j++] = '|';
ch[i][j++] = ':';
ch[i][j++] = ':';
ch[i][j++] = ':';
flog = 1;
}
}
ch[i][j] = '|';
}
}
int main()
{
int i;
get();
gets(a);
gets(b);
int len = strlen(a);
int h,g;
for(i = 8;i < len; i++)
{
if(a[i+1] == ','||i == len-1)
{
if(a[i-2] == 'K')
{
h = (a[i-1]-'a'+1)*4-2;
g = 8-(a[i]-'0');
ch[g][h] = 'K';
}
if(a[i-2] == 'B')
{
h = (a[i-1]-'a'+1)*4-2;
g = 8-(a[i]-'0');
ch[g][h] = 'B';
}
if(a[i-2] == 'R')
{
h = (a[i-1]-'a'+1)*4-2;
g = 8-(a[i]-'0');
ch[g][h] = 'R';
}
if(a[i-2] == 'Q')
{
h = (a[i-1]-'a'+1)*4-2;
g = 8-(a[i]-'0');
ch[g][h] = 'Q';
}
if(a[i-2] == ',')
{
h = (a[i-1]-'a'+1)*4-2;
g = 8-(a[i]-'0');
ch[g][h] = 'P';
}
if(a[i-2] == 'N')
{
h = (a[i-1]-'a'+1)*4-2;
g = 8-(a[i]-'0');
ch[g][h] = 'N';
}
}
}
len = strlen(b);
h,g;
for(i = 8;i < len; i++)
{
if(b[i+1] == ','||i == len-1)
{
if(b[i-2] == 'K')
{
h = (b[i-1]-'a'+1)*4-2;
g = '8'-b[i];
ch[g][h] = 'k';
}
if(b[i-2] == 'B')
{
h = (b[i-1]-'a'+1)*4-2;
g = '8'-b[i];
ch[g][h] = 'b';
}
if(b[i-2] == 'R')
{
h = (b[i-1]-'a'+1)*4-2;
g = '8'-b[i];
ch[g][h] = 'r';
}
if(b[i-2] == 'Q')
{
h = (b[i-1]-'a'+1)*4-2;
g = '8'-b[i];
ch[g][h] = 'q';
}
if(b[i-2] == ',')
{
h = (b[i-1]-'a'+1)*4-2;
g = '8'-b[i];
ch[g][h] = 'p';
}
if(b[i-2] == 'N')
{
h = (b[i-1]-'a'+1)*4-2;
g = '8'-b[i];
ch[g][h] = 'n';
}
}
}
printf("+---+---+---+---+---+---+---+---+\n");
for(i = 0;i < 8; i++)
{
printf("%s\n",ch[i]);
printf("+---+---+---+---+---+---+---+---+\n");
}
}
代码菜鸟,如有错误,请多包涵!!