結果
| 問題 |
No.274 The Wall
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-01-09 15:52:34 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 1,846 ms / 2,000 ms |
| コード長 | 913 bytes |
| コンパイル時間 | 1,990 ms |
| コンパイル使用メモリ | 7,808 KB |
| 実行使用メモリ | 48,000 KB |
| 最終ジャッジ日時 | 2025-03-17 19:00:50 |
| 合計ジャッジ時間 | 10,612 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 23 |
コンパイルメッセージ
Syntax OK
ソースコード
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"