入力:hotel.in 出力:hotel.out
制限時間:
1000のMSのスペースの制約: 262144キロバイト特定の制限
1つの#include <ビット/ STDC ++ H> 2 使用して 名前空間STDを、 3 のconst int型 MAXN = 210万。 4 BOOL SF [MAXN]。 5 INT nは、X、Y、[MAXN]、全て、次の[MAXN]、最後[MAXN]、first1、first2。 6 INT )(メイン 7 { 8 freopenは(" hotel.in "、" R " 、STDIN)。 9 freopenは(" hotel.out "、" W " 、STDOUT)。 10 SF [ 0] = 1 。 11 のmemset(最後、 - 1、はsizeof (最終))。 12 CIN >> N。 13 のために(int型 i = 1 ; iが<= N; iが++ ) 14 { 15 のscanf(" %D%dの"、およびX&Y)。 16 次の[X] = Y。 17 最後の[Y] =のX。 18 であれば(x == 0 ) 19 first2 = Y。 20 であれば(SF [X] == 0 ) 21 { 22 [++すべて] =のX。 23 SF [X] = 1 。 24 } 25 であれば(SF [Y] == 0 ) 26 { 27 [++すべて] = Y。 28 SF [Y] = 1 。 29 } 30 } 31 のための(int型 I = 1 ; I <=全て、iは++ ) 32 場合(最後に[i]は] == - 1 ) 33 first1が= [I]。 34 のための(int型 i = 1 ; iが<= N / 2 iは++; ) 35 { 36 COUT << first1 << " " << first2 << " " 。 37 first1 = 次の[first1]。 38 first2 = 次の[first2]。 39 } 40 であれば(N%2 == 1)COUT << first1。 41 リターン 0 ; 42 }