結果
問題 |
No.629 グラフの中に眠る門松列
|
ユーザー |
|
提出日時 | 2017-04-30 01:35:29 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,116 bytes |
コンパイル時間 | 113 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-09-14 17:37:04 |
合計ジャッジ時間 | 20,889 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 WA * 2 |
other | AC * 32 WA * 4 |
コンパイルメッセージ
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 aa.unshift(nil) 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?(aa[pair[0][1]], aa[pair[0][0]], aa[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?(aa[pair[0][1]], aa[pair[1][1]], aa[pair[1][0]]) end } no