結果
問題 |
No.459 C-VS for yukicoder
|
ユーザー |
![]() |
提出日時 | 2016-12-10 01:16:31 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 629 ms / 2,000 ms |
コード長 | 695 bytes |
コンパイル時間 | 147 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 17,152 KB |
最終ジャッジ日時 | 2024-12-26 17:58:28 |
合計ジャッジ時間 | 13,883 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 58 |
コンパイルメッセージ
Syntax OK
ソースコード
h,w,n=gets.split.map &:to_i c=[0]*w h.times do |i| g=gets.chomp w.times do |i| c[i]+=1 if g[i]==?# end end d=[0]*w v=[] n.times do |i| v<< [gets.to_i,i] end v.each do |e| 3.times do |i| d[e[0]+i]+=1 end end w=v.sort f=[] w.each do |e| g=[] 3.times do |i| t=e[0]+i d[t]-=1 if c[t]>=d[t]*3 g<< c[t]-d[t]*3 c[t]=d[t]*3 else g<< 0 end end if g==[0,0,0] 3.times do |i| t=e[0]+i if c[t]!=0 g[i]+=1 c[t]-=1 break end end end f<< g+[e[1]] end f.sort!{|a,b|a[3]<=>b[3]} f.each do |e| 3.times do |i| s="" 3.times do |j| s+=e[j]>=3-i ? ?#:?. end puts s end end