結果

問題 No.763 Noelちゃんと木遊び
ユーザー hytkxd
提出日時 2024-05-13 17:55:40
言語 Ruby
(3.4.1)
結果
TLE  
実行時間 -
コード長 872 bytes
コンパイル時間 228 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 179,744 KB
最終ジャッジ日時 2024-12-20 09:32:40
合計ジャッジ時間 52,518 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 6 TLE * 15
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

#!/usr/local/bin/ruby
class PlayWithNoel
  def initialize(*arg)
    @n,@uv, = arg
    @adj=Array.new(@n){Array.new}
    @uv.each{|u,v| @adj[u-1].push(v-1); @adj[v-1].push(u-1)}
    @match = Array.new(@n)
    @cover = Array.new(@n)
  end

  private
  def paint(st)
    rop = false
    @visited[st] = true
    @adj[st].each do |v|
      unless @visited[v]
        w = @match[v]
        if w.nil? || @visited[w].nil? && paint(w)
          rop, @match[st],@match[v] = true,v,st
          break
        end
      end
    end
    rop
  end

  public

  def ans
    r=0
    (0...@n).each do |i|
      unless @match[i]
        @visited = Array.new(@n)
        if paint(i)
          r+=1
        end
      end
    end
    @n-r
  end
end
### END: class PlayWithNoel
iod = STDIN
n = iod.gets.to_i
uv = Array.new(n-1){iod.gets.split.map &:to_i}
puts PlayWithNoel.new(n,uv).ans
exit 0
0