結果
問題 |
No.629 グラフの中に眠る門松列
|
ユーザー |
|
提出日時 | 2017-04-30 01:14:19 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,076 bytes |
コンパイル時間 | 114 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 12,672 KB |
最終ジャッジ日時 | 2024-09-14 17:36:43 |
合計ジャッジ時間 | 5,481 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 WA * 1 |
other | AC * 26 WA * 10 |
コンパイルメッセージ
Syntax OK
ソースコード
line = gets.chomp! abort "line 1 format error" unless line=~/^\d+ \d+$/ n,m = line.split.map &:to_i line = gets.chomp! abort "line 2 format error" unless line=~/^\d+(?: \d+)*$/ aa = line.split.map &:to_i abort "line 2 vector_size error" unless aa.size == n edges = [] m.times{|i| line = gets.chomp! abort "line #{i+3} format error" unless line=~/^\d+ \d+$/ edges << line.split.map(&:to_i) } abort "too many lines" unless !gets def yes;puts "YES";exit(0);end def no ;puts "NO"; exit(0);end def kadomatu?(a,b,c) a!=b&&b!=c&&c!=a&&((a<b&&b>c)||(a>b&&b<c)) end # 辺集合から2つ選ぶ組み合わせを全列挙 edges.combination(2){|pair| if pair[0][0] == pair[1][0] # pair[0][1] -> (pair[0][0] == pair[1][0]) -> pair[1][1] となっているケース yes if kadomatu?(pair[0][1], pair[0][0], pair[1][1]) elsif pair[0][0] == pair[1][1] # pair[0][1] -> (pair[0][0] == pair[1][1]) -> pair[1][0] となっているケース yes if kadomatu?(pair[0][1], pair[1][1], pair[1][0]) end } no