結果
問題 | No.606 カラフルタイル |
ユーザー | YosukeKawada |
提出日時 | 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