Time Limit: 1000MS | Memory Limit: 65536KB | 64bit IO Format: %I64d & %I64u |
Description
This problem is a reverse case of the . You are given the output of the problem H and your task is to find the corresponding input.
Input
according to output of .
Output
according to input of .
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.|+---+---+---+---+---+---+---+---+
题意就是把2996的那道题的输出变输入,输入变输出。我觉得一下子变简单了很多,起码没那么多的麻烦事了。
思路就是现在是一个空棋盘,然后题目给了各个棋子的位置,拿这些棋子去占相应的位置,之后再输出占好各个位置的棋盘。
代码:
#include#include #include #include #include #include #pragma warning(disable:4996)using namespace std;const string temp="+---+---+---+---+---+---+---+---+";string test[20];string cal[5];int i,len;char row,col;int main(){ test[1]="|...|:::|...|:::|...|:::|...|:::|"; test[2]="|:::|...|:::|...|:::|...|:::|...|"; test[3]="|...|:::|...|:::|...|:::|...|:::|"; test[4]="|:::|...|:::|...|:::|...|:::|...|"; test[5]="|...|:::|...|:::|...|:::|...|:::|"; test[6]="|:::|...|:::|...|:::|...|:::|...|"; test[7]="|...|:::|...|:::|...|:::|...|:::|"; test[8]="|:::|...|:::|...|:::|...|:::|...|"; cin>>cal[0]; cin>>cal[1]; cin>>cal[3]; cin>>cal[2]; len=cal[1].length(); for(i=0;i ='a'&&cal[1][i]<='h') { row=cal[1][i]; col=cal[1][i+1]; test[9-(col-'0')][(row-'a')*4+2]='P'; i=i+1; } } len=cal[2].length(); for(i=0;i ='a'&&cal[2][i]<='h') { row=cal[2][i]; col=cal[2][i+1]; test[9-(col-'0')][(row-'a')*4+2]='p'; i=i+1; } } cout< <
版权声明:本文为博主原创文章,未经博主允许不得转载。