POJ 2993:Emag eht htiw Em Pleh:模拟题

来源:互联网 发布:路由器上面的访客网络 编辑:程序博客网 时间:2024/05/20 14:25
Emag eht htiw Em Pleh
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2555 Accepted: 1716

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,e4Black: 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<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>char tem[35];char tem1[35]="+---+---+---+---+---+---+---+---+";char tem2[35];int a[20][35];int p;void chuli(){int i,j;int bianhao;for(i=0;i<strlen(tem);){while(tem[i]==',')i++;if(tem[i]<91){switch(tem[i]){case 'K':bianhao=1;break;case 'Q':bianhao=2;break;case 'R':bianhao=3;break;case 'B':bianhao=4;break;case 'N':bianhao=5;break;default:break;};a[9-(tem[i+2]-'0')][tem[i+1]-'a'+1]=p+bianhao;i+=3;}else{a[9-(tem[i+1]-'0')][tem[i]-'a'+1]=p+6;i+=2;}}}void fuzhi(int hang){int i,j;if(hang%2)strcpy(tem2,"|...|:::|...|:::|...|:::|...|:::|");elsestrcpy(tem2,"|:::|...|:::|...|:::|...|:::|...|");for(i=1;i<=8;i++){switch(a[hang][i]){case 1:tem2[(i-1)*4+2]='K';break;case 2:tem2[(i-1)*4+2]='Q';break;case 3:tem2[(i-1)*4+2]='R';break;case 4:tem2[(i-1)*4+2]='B';break;case 5:tem2[(i-1)*4+2]='N';break;case 6:tem2[(i-1)*4+2]='P';break;case 7:tem2[(i-1)*4+2]='k';break;case 8:tem2[(i-1)*4+2]='q';break;case 9:tem2[(i-1)*4+2]='r';break;case 10:tem2[(i-1)*4+2]='b';break;case 11:tem2[(i-1)*4+2]='n';break;case 12:tem2[(i-1)*4+2]='p';break;default:break;};}}void output(){int i,j;for(i=1;i<=8;i++){printf("%s\n",tem1);fuzhi(i);printf("%s\n",tem2);}printf("%s\n",tem1);}int main(){int i,j;memset(a,0,sizeof(a));scanf("%s",tem);scanf("%s",tem);p=0;chuli();scanf("%s",tem);scanf("%s",tem);p=6;chuli();output();return 0;}


0 0
原创粉丝点击