Emag eht htiw Em Pleh
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 |
提示
题意:
没有
思路:
模拟水题一个
示例程序
Source Code
Problem: 2993 Code Length: 2203B
Memory: 392K Time: 0MS
Language: GCC Result: Accepted
#include <stdio.h>
int main()
{
char ch1[6],ch[55],map[17][34];
int i,i1,i2,x,y;
i2=0;
for(i=0;17>i;i++)
{
if(i%2==0)
{
for(i1=0;33>i1;i1++)
{
if(i1%4==0)
{
map[i][i1]='+';
}
else
{
map[i][i1]='-';
}
}
}
else
{
for(i1=0;33>i1;i1++)
{
if(i1%4==0)
{
map[i][i1]='|';
i2++;
}
else
{
if(i2%2==0)
{
map[i][i1]='.';
}
else
{
map[i][i1]=':';
}
}
}
}
i2++;
map[i][33]='\0';
} //先构建棋盘,也可以手动输入
for(i=1;2>=i;i++)
{
scanf("%s %s",ch1,ch);
for(i1=0;ch[i1]!='\0';i1++)
{
if(i==1)
{
if(ch[i1]<='Z'&&ch[i1]>='A')
{
x=2*(ch[i1+2]-'0')-1;
y=(ch[i1+1]-'a')*4+2;
map[16-x][y]=ch[i1];
i1=i1+2;
}
else if(ch[i1]<='z'&&ch[i1]>='a')
{
y=((ch[i1]-'a')*4+2);
x=2*(ch[i1+1]-'0')-1;
map[16-x][y]='P';
i1++;
}
}
else
{
if(ch[i1]<='Z'&&ch[i1]>='A')
{
x=2*(ch[i1+2]-'0')-1;
y=(ch[i1+1]-'a')*4+2;
map[16-x][y]=ch[i1]+32;
i1=i1+2;
}
else if(ch[i1]<='z'&&ch[i1]>='a')
{
y=((ch[i1]-'a')*4+2);
x=2*(ch[i1+1]-'0')-1;
map[16-x][y]='p';
i1++;
}
}
}
} //提取棋子坐标后放入棋子
for(i=0;17>i;i++)
{
printf("%s\n",map[i]);
}
return 0;
}