結果
問題 | No.1473 おでぶなおばけさん |
ユーザー |
👑 |
提出日時 | 2021-05-24 16:15:28 |
言語 | Lua (LuaJit 2.1.1734355927) |
結果 |
AC
|
実行時間 | 396 ms / 2,000 ms |
コード長 | 588 bytes |
コンパイル時間 | 161 ms |
コンパイル使用メモリ | 5,248 KB |
実行使用メモリ | 32,768 KB |
最終ジャッジ日時 | 2024-10-13 00:38:59 |
合計ジャッジ時間 | 12,494 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 47 |
ソースコード
n,m=io.read("*n","*n") p= {} e={} l={} for i = 1,n do p[i]=i e[i]={} l[i]=-1 end l[1]=0 function F(i) j=i while p[i]~=i do i=p[i] end while p[j]~=i do p[j],j=i,p[j] end return i end q={} for i=1,m do q[i]={io.read("*n","*n","*n")} end table.sort(q,function(a,b) return a[3]>b[3] end) w=0 for i=1,m do a=q[i][1] b=q[i][2] c=q[i][3] if c<w then break end e[a][#e[a]+1]=b e[b][#e[b]+1]=a x=F(a) y=F(b) p[b]=x p[y]=x x=F(1) y=F(n) if x==y then w=c end end t={1} v=0 while v<#t do v=v+1 s=t[v] for i=1,#e[s] do d=e[s][i] if l[d]<0 then l[d]=l[s]+1 t[#t+1]=d end end end print(w .. " " .. l[n])