Emag eht htiw Em Pleh
Crawling in process...
Crawling failed
Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u
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.| +---+---+---+---+---+---+---+---+
根据字母的位置打印表格,注意是从下往上数(从1到8)
#include <stdio.h> #include <string.h> int main() { char qp[18][34] = { "+---+---+---+---+---+---+---+---+", "|...|:::|...|:::|...|:::|...|:::|", "+---+---+---+---+---+---+---+---+", "|:::|...|:::|...|:::|...|:::|...|", "+---+---+---+---+---+---+---+---+", "|...|:::|...|:::|...|:::|...|:::|", "+---+---+---+---+---+---+---+---+", "|:::|...|:::|...|:::|...|:::|...|", "+---+---+---+---+---+---+---+---+", "|...|:::|...|:::|...|:::|...|:::|", "+---+---+---+---+---+---+---+---+", "|:::|...|:::|...|:::|...|:::|...|", "+---+---+---+---+---+---+---+---+", "|...|:::|...|:::|...|:::|...|:::|", "+---+---+---+---+---+---+---+---+", "|:::|...|:::|...|:::|...|:::|...|", "+---+---+---+---+---+---+---+---+", }; char w[100],b[100],ch; int lw,lb,i,j,k,ll,hh; gets(w); lw = strlen(w); gets(b); lb = strlen(b); int bj = 0; for(i = 7; i <= lw; i++) { if(bj == 0) ch = 'P'; if(w[i] >= 'a' && w[i] <= 'z') { ll = 4*(w[i] - 'a' + 1) - 2; } else if(w[i] >= '1' && w[i] <= '9') { hh = (9-(w[i]-'0')) * 2 - 1; } else if(w[i] >= 'A' && w[i] <= 'Z') { ch = w[i]; bj = 1; } else if(w[i] == ',' || w[i] == '\0') { qp[hh][ll] = ch; bj = 0; } } bj = 0; for(i = 7; i <= lb; i++) { if(bj == 0) ch = 'p'; if(b[i] >= 'a' && b[i] <= 'z') { ll = 4*(b[i] - 'a' + 1) - 2; } else if(b[i] >= '1' && b[i] <= '9') { hh = (9-(b[i]-'0')) * 2 - 1; } else if(b[i] >= 'A' && b[i] <= 'Z') { ch = b[i] + 32; bj = 1; } else if(b[i] == ',' || b[i] == '\0') { qp[hh][ll] = ch; bj = 0; } } for(i = 0; i<17; i++) { printf("%s\n",qp[i]); } return 0; }