結果
| 問題 |
No.606 カラフルタイル
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-12-18 11:18:44 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 1,229 ms / 2,000 ms |
| コード長 | 883 bytes |
| コンパイル時間 | 270 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 29,184 KB |
| 最終ジャッジ日時 | 2024-12-15 23:43:03 |
| 合計ジャッジ時間 | 15,352 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 |
コンパイルメッセージ
Main.rb:37: warning: assigned but unused variable - color Syntax OK
ソースコード
def readl
$stdin.gets.split(" ")
end
N,K,Q = readl.map{ |r| r.to_i }
rows = (0...N).map{ [-1,1] }
cols = (0...N).map{ [-2,1] }
#p rows
#p cols
Q.times do |i|
a,b,c = readl
b = b.to_i
c = c.to_i
colorpair = [i,c]
case a
when "R"
rows[b-1] = colorpair
when "C"
cols[b-1] = colorpair
end
end
#p rows
#p cols
rows = rows.sort{ |a,b| a[0] <=> b[0] }
cols = cols.sort{ |a,b| a[0] <=> b[0] }
#p rows
#p cols
def count_wins(item, arr)
i = item[0]
color = item[1]
# b-search
mi,ma = 0,arr.size-1
j = (mi+ma)/2
if i <arr[j][0]
ma = i
else
mi = i
end
#p [item, arr]
if j = arr.bsearch_index{ |b| i < b[0] }
j
else
arr.size
end
end
color_count = (0...K).map{ 0 }
rows.each do |s|
color_count[s[1]-1] += count_wins(s, cols)
end
cols.each do |s|
color_count[s[1]-1] += count_wins(s, rows)
end
puts color_count