#include #include int getIndex(char c) { char line[]="kqrbnp "; int i; for (i=0;line[i];i++) if (line[i]==c) return i; return i; } int Wc[10],Wb[10]; typedef struct { int i,j; } POS; char white[]="KQRBNP"; char black[]="KQRBNP"; int main(void) { char board[8][8]; char line[100]; scanf("%s",line); int i,j; for (i=7;i>=0;i--) { scanf("%s",line); for (j=0;j<8;j++) { board[i][j]=line[2+j*4]; board[i][j]=(board[i][j]=='.'||board[i][j]==':')?' ':board[i][j]; } scanf("%s",line); } POS W[10][64],B[10][64]; for (i=0;i<8;i++) { for (j=0;j<8;j++) { int idx; idx=getIndex(tolower(board[i][j])); if (board[i][j]==' ') continue; else if (board[i][j]>='A' && board[i][j]<='Z') { W[idx][Wc[idx]].i=i; W[idx][Wc[idx]++].j=j; } } } for (i=7;i>=0;i--) { for (j=0;j<8;j++) { int idx; idx=getIndex(tolower(board[i][j])); if (board[i][j]==' ') continue; else if (board[i][j]>='a' && board[i][j]<='z') { B[idx][Wb[idx]].i=i; B[idx][Wb[idx]++].j=j; } } } char buf[10000]; for (i=0;i<6;i++) { for (j=0;j