結果
問題 |
No.1390 Get together
|
ユーザー |
![]() |
提出日時 | 2021-02-12 23:27:36 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 879 ms / 2,000 ms |
コード長 | 622 bytes |
コンパイル時間 | 181 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 40,320 KB |
最終ジャッジ日時 | 2024-07-20 01:10:06 |
合計ジャッジ時間 | 17,723 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
コンパイルメッセージ
Syntax OK
ソースコード
n,m=gets.split.map(&:to_i) lc=[] n.times do lc << [] end n.times do b,c=gets.split.map(&:to_i).map{|x|x-1} lc[c] << b end l=[] m.times do |i| l << i end lc.each do |lcc| a=0 lcc.uniq.each.with_index do |ll,i| if i==0 a=ll next end b=ll s=[a,b] k=a while l[k]!=k k=l[k] s << k end k=b while l[k]!=k k=l[k] s << k end min=s.min s.uniq.each do |t| l[t]=min if l[t]!=min end end end m.times do |i| if l[i]!=i&&l[i]!=l[l[i]] l[i]=l[l[i]] end end ans=m m.times do |i| if l[i]==i ans-=1 end end puts ans