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

2006rb2.cの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
 #include <stdio.h>
 #include <stdlib.h> 
 
 main()
 {
 	int n, m, e, h, p, q, i, j, now;
 	// 2次元配列でクジを表現
 	// kuji[縦棒の位置][横棒の位置]
 	// 中にはどこに棒がのびているかを入れる
 	char kuji[101][1001];
 	
 	while(1){
 		scanf("%d %d %d", &n, &m, &e);
 		if(n==0 && m==0 && e==0) break;
 		
 		// クジ初期化
 		for(i=1; i<=n; i++){
 			for(j=1; j<=1000; j++){
 				// 0はどこにも棒がのびていないとする
 				kuji[i][j]=0;
 			}
 		}
 		
 		// クジ作成
 		for(i=0; i<m; i++){
 			scanf("%d %d %d", &h, &p, &q);
 			// 高さhの位置にpからq、qからpに棒がのびている
 			kuji[p][h]=q;
 			kuji[q][h]=p;
 		}
 		
 		now=e; // 最初に確かめる縦棒の位置
 		for(i=1000; i>0; i--){
 			if(kuji[now][i]>0){ // 0以上だったら
 				now=kuji[now][i]; // 縦棒を移動する
 			}
 		}
 		// 最後までたどったら答が出る
 		printf("%d\n", now);
 	}
 	
 	return 0;
 }