結果

問題 No.583 鉄道同好会
ユーザー sca1l
提出日時 2017-10-30 17:20:39
言語 Ruby
(3.4.1)
結果
AC  
実行時間 276 ms / 2,000 ms
コード長 516 bytes
コンパイル時間 47 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 15,232 KB
最終ジャッジ日時 2024-11-22 10:46:26
合計ジャッジ時間 3,402 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 16
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

n,m = gets.split.map(&:to_i)
x = n.times.map{[]}
at = 0
m.times{
  a,b=gets.split.map(&:to_i)
  at=a
  x[a] << b
  x[b] << a
}

uni = 0
odd = 0
x.each{|t|
  s = t.size
  uni += 1 if s>0
  odd += 1 if s%2==1
}

con = 0
q = [at]
ch = Array.new(n, false)#キューに入れたかどうかでチェック
while q.size>0
  now = q.pop
  x[now].each{|ne|
    next if ch[ne]
    q << ne
    ch[ne] = true
  }
  con+=1
end


if con<uni then
  puts 'NO'
  exit
end


if odd==0 || odd==2 then
  puts 'YES'
else
  puts 'NO'
end
0