- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
#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;
}