Follows 320.c (Total 65 lines):

/* @JUDGE_ID:4461XX 320 C */
/* A */
#include<stdio.h>
#define MAX 32

char map[MAX][MAX+1] ;
int x , y ;

void Input( void )
{
	int i , j ;

	for( i=0 ; i<MAX ; ++i ){ /* Initial */
		map[i][MAX] = 0 ;
		for( j=0 ; j<MAX ; ++j ) map[i][j] = '.' ;
	}
	
	scanf( "%d %d\n" , &x , &y ) ;
}
void Run( void )
{
	char dir ;
	
	while( scanf( "%c" , &dir )==1 ){
		if( dir=='.' ) break ;

		switch( dir ){
			case 'E' : map[y-1][x] = 'X' ;
					   ++x ;
					   break ;
			case 'N' : map[y][x] = 'X' ;
					   ++y ;
					   break ;
			case 'W' : map[y][x-1] = 'X' ;
					   --x ;
					   break ;
			case 'S' : map[y-1][x-1] = 'X' ;
					   --y ;
					   break ;
		}
	}
}
void Output( void )
{
	static int times=0 ;
	int i ;
	
	printf( "Bitmap #%d\n" , ++times ) ;
	for( i=MAX-1 ; i>=0 ; --i ) puts( map[i] ) ;

	putchar( '\n' ) ;
}
int main( void )
{
	int case_time ;

	scanf( "%d" , &case_time ) ;
	for( ; case_time ; --case_time ){
		Input() ;
		Run() ;
		Output() ;
	}

	return 0 ;
}

Back to statistics
Ya-Lin Huang (C)
huangyl@gmail.com