Emag eht htiw Em Pleh(imitate)

Emag eht htiw Em Pleh
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 2901   Accepted: 1917

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

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<ctype.h>
 4 char chess[20][40] ;
 5 char st[40] = "+---+---+---+---+---+---+---+---+" ;
 6 char s1[40] = "|...|:::|...|:::|...|:::|...|:::|" ,s2[40] = "|:::|...|:::|...|:::|...|:::|...|" ;
 7 char color[100] ;
 8 char ch ;
 9 int row , col;
10 
11 int main ()
12 {
13    // freopen ("a.txt" , "r" , stdin) ;
14     for (int i = 1 ; i <= 17 ; i++) {
15         if (i & 1) {
16             strcpy (chess[i] , st) ;
17         }
18         else {
19             if ((i >> 1) & 1)
20                 strcpy (chess[i] , s1) ;
21             else
22                 strcpy (chess[i] , s2) ;
23         }
24     }
25     gets (color) ;
26     int len = strlen (color) ;
27     color [len] = ',' ;
28     color [len + 1] = '\0' ;
29     color [6] = ',' ;
30 
31     for (int i = 7 ; color[i] != '\0' ; i ++) {
32         int cnt = 0 ;
33         if (color[i] == ',') {
34             for (int j = i - 1 ; cnt < 3 ; j-- , cnt++) {
35                 if (cnt == 0)
36                     row = (9 - (color[j] - '0') ) * 2 ;
37                 if (cnt == 1)
38                     col = (color [j] - 'a') * 4 + 2 ;
39                 if (cnt == 2) {
40                     if (color[j] == ',')
41                         ch = 'P' ;
42                     else
43                         ch = color[j] ;
44                 }
45             }
46         }
47         chess[row][col] = ch ;
48     }
49 
50     gets (color) ;
51     len = strlen (color) ;
52     color [len] = ',' ;
53     color [len + 1] = '\0' ;
54     color [6] = ',' ;
55 
56     for (int i = 7 ; color[i] != '\0' ; i ++) {
57         int cnt = 0 ;
58         if (color[i] == ',') {
59             for (int j = i - 1 ; cnt < 3 ; j-- , cnt++) {
60                 if (cnt == 0)
61                     row = (9 - (color[j] - '0') ) * 2 ;
62                 if (cnt == 1)
63                     col = (color [j] - 'a') * 4 + 2 ;
64                 if (cnt == 2) {
65                     if (color[j] == ',')
66                         ch = 'p' ;
67                     else
68                         ch = tolower (color[j]) ;
69                 }
70             }
71         }
72         chess[row][col] = ch ;
73     }
74 
75     for (int i = 1 ; i <= 17 ; i++)
76         puts (chess[i]) ;
77 
78     return 0 ;
79 }
View Code

 

posted @ 2015-03-01 13:02  92度的苍蓝  阅读(261)  评论(0编辑  收藏  举报
http://images.cnblogs.com/cnblogs_com/Running-Time/724426/o_b74124f376fc157f352acc88.jpg