結果

問題 No.274 The Wall
ユーザー YosukeKawada
提出日時 2018-01-09 15:52:34
言語 Ruby
(3.4.1)
結果
AC  
実行時間 1,717 ms / 2,000 ms
コード長 913 bytes
コンパイル時間 93 ms
コンパイル使用メモリ 7,680 KB
実行使用メモリ 46,976 KB
最終ジャッジ日時 2024-06-22 02:22:15
合計ジャッジ時間 16,060 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 22
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
プレゼンテーションモードにする

N,M = $stdin.gets.chomp.split(" ").map{ |a| a.to_i }
lines = []
N.times {
l,r = $stdin.gets.chomp.split(" ").map{ |a| a.to_i }
lines << [l,r]
}
#p lines
$connection = (0...lines.size).map { |i|
l0,r0 = *lines[i]
vl0,vr0 = M-1-r0,M-1-l0
(0...lines.size).map { |j|
next nil if i == j
l1,r1 = *lines[j]
ok1 = (r0 < l1 || r1 < l0)
ok2 = (vr0 < l1 || r1 < vl0)
case
when ok1 && !ok2; +1
when !ok1 && ok2; -1
when ok1 && ok2; nil
when !ok1 && !ok2
puts "NO"
exit
end
}
}
#p $connection
$status = (0...N).map{ nil }
def digger(i, expected = nil)
if $status[i]
if expected
if expected != $status[i]
puts "NO"
exit
end
end
return
end
$status[i] = expected || +1
$connection[i].each_with_index { |c,j|
next unless c
digger(j,$status[i]*c)
}
end
(0...N).each { |i|
digger(i)
}
puts "YES"
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0