Emag eht htiw Em Pleh
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 2994 | Accepted: 1979 |
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.| +---+---+---+---+---+---+---+---+
Source
CTU Open 2005
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char s1[260],s2[260],s[260][260];
while(gets(s1)!=NULL)
{ //getchar();
gets(s2);
for(int i=0;i<17;)
{
for(int j=0;j<33;j++)
if(j%4==0)
s[i][j]='+';
else
s[i][j]='-';
i+=2;
}
int kkk=0,num=0;
for(int i=1;i<17;)
{
num++;
kkk=3*num-1;
for(int j=0;j<33;j++)
if(j%4==0)
s[i][j]='|';
else
{kkk++;
if((kkk/3)%2)
s[i][j]='.';
else
s[i][j]=':';
}
i+=2;
}
for(int i=7;i<strlen(s1);i++)
{
if(s1[i]>='a'&&s1[i]<='z')
{
if(s1[i-1]>='A'&&s1[i-1]<='Z')
{
int a=17-(int)((s1[i+1]-'0')*2);
int b=(int)((s1[i]-'a')*4)+2;
s[a][b]=s1[i-1];
}
else
{
int a=17-(int)((s1[i+1]-'0')*2);
int b=(int)((s1[i]-'a')*4)+2;
s[a][b]='P';
}
}
}
for(int i=7;i<strlen(s2);i++)
{
if(s2[i]>='a'&&s2[i]<='z')
{
if(s2[i-1]>='A'&&s2[i-1]<='Z')
{
int a=17-(int)((s2[i+1]-'0')*2);
int b=(int)((s2[i]-'a')*4)+2;
s[a][b]=s2[i-1]-'A'+'a'; //格式转换
}
else
{
int a=17-(int)((s2[i+1]-'0')*2);
int b=(int)((s2[i]-'a')*4)+2;
s[a][b]='p';
}
}
}
for(int i=0;i<17;i++)
{
for(int j=0;j<33;j++)
{
cout<<s[i][j];
}
cout<<endl;
}
}
}