トップ 一覧 Farm 検索 ヘルプ RSS ログイン

2006ra6.cppの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
 #include <iostream>
 
 using namespace std;
 
 void main()
 {
 	int jn, me;
 	int xi[10], yi[10], x, y, move;
 	int i, j;
 	int flag;
 	char hou;
 	
 	while( 1 ){
 		
 		cin >> jn;
 		if( !jn ) break;
 		
 		for( i = 0; i < jn; i++ )
 			cin >> xi[i] >> yi[i];
 		
 		cin >> me;
 		x = y = 10;
 		flag=0;
 		for( j = 0; j < me; j++ ){
 			cin >> hou >> move;
 		
 			switch( hou ){
 			case 'N':	for(i=0;i<move;i++){
 							y++;
 							if(x==xi[j] && y==yi[j])
 								flag++;
 						}
 						break;
 					
 			case 'S':	for(i=0;i<move;i++){
 							y--;
 							if(x==xi[j] && y==yi[j])
 								flag++;
 						}
 						break;
 						
 			case 'E':	for(i=0;i<move;i++){
 							x++;
 							if(x==xi[j] && y==yi[j])
 								flag++;
 						}
 						break;
 						
 			case 'W':	for(i=0;i<move;i++){
 							x--;
 							if(x==xi[j]&&y==yi[j])
 								flag++;
 						}
 						break;
 							
 			default:	break;
 			}
 		
 		
 		}
 	
 		if( flag == jn )	cout << "yes" << endl;
 		else 		cout << "no" << endl;
 	}
 	
 }