思路:
代码:
#include <iostream>
#include <cstring>
using namespace std;
char mp[ 9 ] [ 9 ] ;
char chess[ 9 ] [ 9 ] ;
void init ( ) {
memset ( mp, 0 , sizeof ( mp) ) ;
for ( int i= 1 ; i<= 8 ; i++ )
for ( int j= 1 ; j<= 8 ; j++ )
if ( ( i + j) % 2 )
mp[ i] [ j] = '.' ;
else
mp[ i] [ j] = ':' ;
memcpy ( chess, mp, sizeof ( mp) ) ;
return ;
}
void inputwhite ( ) {
char temp;
for ( int i= 1 ; i<= 6 ; i++ )
cin>> temp;
while ( true) {
char fir, sec;
int row , col;
cin>> fir;
if ( fir>= 'A' && fir<= 'Z' ) {
cin>> sec>> row;
col = sec - 'a' + 1 ;
chess[ row] [ col] = fir;
}
else {
cin>> row;
col = fir - 'a' + 1 ;
chess[ row] [ col] = 'P' ;
}
cin>> temp;
if ( temp != ',' )
break ;
}
return ;
}
void inputblack ( ) {
char temp;
for ( int i= 1 ; i<= 5 ; i++ )
cin>> temp;
while ( true) {
char fir, sec;
int row , col;
cin>> fir;
if ( fir>= 'A' && fir<= 'Z' ) {
cin>> sec>> row;
col = sec - 'a' + 1 ;
chess[ row] [ col] = fir + 'a' - 'A' ;
}
else {
cin>> row;
col = fir - 'a' + 1 ;
chess[ row] [ col] = 'p' ;
}
if ( cin>> temp)
;
else
break ;
}
return ;
}
void output ( ) {
for ( int i= 1 ; i<= 17 ; i++ ) {
if ( i% 2 )
cout<< "+---+---+---+---+---+---+---+---+" << endl;
else {
for ( int j= 1 ; j<= 8 ; j++ ) {
cout<< '|' << mp[ 9 - i/ 2 ] [ j] << chess[ 9 - i/ 2 ] [ j] << mp[ 9 - i/ 2 ] [ j] ;
}
cout<< '|' << endl;
}
}
return ;
}
int main ( ) {
init ( ) ;
inputwhite ( ) ;
inputblack ( ) ;
output ( ) ;
return 0 ;
}