結果
問題 | No.679 不思議マーケット |
ユーザー | mai |
提出日時 | 2018-04-28 00:18:23 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 252 ms / 2,000 ms |
コード長 | 555 bytes |
コンパイル時間 | 47 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 12,928 KB |
最終ジャッジ日時 | 2024-06-27 23:03:12 |
合計ジャッジ時間 | 2,692 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 |
コンパイルメッセージ
Main.rb:8: warning: assigned but unused variable - r Syntax OK
ソースコード
def ascan; gets.split.map(&:to_i);end N,M = ascan items = {} M.times do g,r = ascan hh = ascan items[g] = hh end ans = {} det = {} dfs = lambda do |id| next ans[id] if ans[id] item = items[id] next ans[id] = 1 if !item next false if det[id] det[id] = true ret = 1 item.each do |e| r = dfs.call(e) if r == false ret = false break end end det[id] = false next ans[id] = ret end res = 0 (1..N).each do |id| res += dfs.call(id) ? 1 : 0 end p res