結果
問題 | No.1254 補強への架け橋 |
ユーザー | lanegue |
提出日時 | 2020-10-09 23:43:29 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 573 ms / 2,000 ms |
コード長 | 552 bytes |
コンパイル時間 | 573 ms |
コンパイル使用メモリ | 7,168 KB |
実行使用メモリ | 32,128 KB |
最終ジャッジ日時 | 2024-07-20 14:35:02 |
合計ジャッジ時間 | 29,208 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 123 |
コンパイルメッセージ
Syntax OK
ソースコード
N=gets.to_i E=Array.new(N){[]} N.times{|n| a,b=gets.split.map{|i|i.to_i-1} E[a] << [b,n+1] E[b] << [a,n+1] } S=[[0,nil]] C=Array.new(N){false} max=[] loop{ #warn S.inspect n=S[-1][0] if C[n] s=S.index{|i|i[0]==n} (s ... S.size-1).each{|i| max << S[i][1] } break end if E[n].empty? S.pop C[S[-1][0]]=false next end nn,ne=E[n].shift next if S.size>=2&&nn==S[-2][0] C[n]=true S[-1][1]=ne S << [nn,nil] } puts max.size puts max*" "