Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 2426 | Accepted: 1571 |
Description
Input
Output
Sample Input
+---+---+---+---+---+---+---+---+ |.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.| +---+---+---+---+---+---+---+---+
Sample Output
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
Source
/* POJ 2996 水模拟 注意看清楚题目,细节注意,尤其是输出顺序 */ #include<stdio.h> #include<string.h> #include<iostream> using namespace std; const int MAXN=40; char map[MAXN][MAXN]; int main() { // freopen("in.txt","r",stdin); // freopen("out.txt","w",stdout); for(int i=0;i<17;i++) scanf("%s",&map[i]); printf("White: "); bool flag=false; for(int i=15;i>=1;i-=2)//注意循环的顺序 { if(flag)break; for(int j=2;j<=30;j+=4) { if(map[i][j]=='K') { printf("K"); printf("%c%d",'a'+j/4,8-i/2); flag=true; break; } } } for(int i=15;i>=1;i-=2) { for(int j=2;j<=30;j+=4) { if(map[i][j]=='Q') { printf(",Q"); printf("%c%d",'a'+j/4,8-i/2); } } } for(int i=15;i>=1;i-=2) { for(int j=2;j<=30;j+=4) { if(map[i][j]=='R') { printf(",R"); printf("%c%d",'a'+j/4,8-i/2); } } } for(int i=15;i>=1;i-=2) { for(int j=2;j<=30;j+=4) { if(map[i][j]=='B') { printf(",B"); printf("%c%d",'a'+j/4,8-i/2); } } } for(int i=15;i>=1;i-=2) { for(int j=2;j<=30;j+=4) { if(map[i][j]=='N') { printf(",N"); printf("%c%d",'a'+j/4,8-i/2); } } } for(int i=15;i>=1;i-=2) { for(int j=2;j<=30;j+=4) { if(map[i][j]=='P') { printf(","); printf("%c%d",'a'+j/4,8-i/2); } } } printf("\n"); printf("Black: "); flag=false; for(int i=1;i<=15;i+=2)//顺序要变化 { if(flag)break; for(int j=2;j<=30;j+=4) { if(map[i][j]=='k') { printf("K"); printf("%c%d",'a'+j/4,8-i/2); flag=true; break; } } } for(int i=1;i<=15;i+=2) { for(int j=2;j<=30;j+=4) { if(map[i][j]=='q') { printf(",Q"); printf("%c%d",'a'+j/4,8-i/2); } } } for(int i=1;i<=15;i+=2) { for(int j=2;j<=30;j+=4) { if(map[i][j]=='r') { printf(",R"); printf("%c%d",'a'+j/4,8-i/2); } } } for(int i=1;i<=15;i+=2) { for(int j=2;j<=30;j+=4) { if(map[i][j]=='b') { printf(",B"); printf("%c%d",'a'+j/4,8-i/2); } } } for(int i=1;i<=15;i+=2) { for(int j=2;j<=30;j+=4) { if(map[i][j]=='n') { printf(",N"); printf("%c%d",'a'+j/4,8-i/2); } } } for(int i=1;i<=15;i+=2) { for(int j=2;j<=30;j+=4) { if(map[i][j]=='p') { printf(","); printf("%c%d",'a'+j/4,8-i/2); } } } printf("\n"); return 0; }