結果
| 問題 |
No.459 C-VS for yukicoder
|
| コンテスト | |
| ユーザー |
compass19
|
| 提出日時 | 2016-12-10 00:58:23 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,202 bytes |
| コンパイル時間 | 319 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 38,048 KB |
| 最終ジャッジ日時 | 2024-11-28 20:57:43 |
| 合計ジャッジ時間 | 23,361 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 55 TLE * 3 |
ソースコード
h,w,n = map(int, input().split())
s = [0 for _ in range(w)]
for i in range(h):
for k, elm in enumerate(list(input())):
if elm == '#':
s[k] += 1
c = sorted([(_, int(input())) for _ in range(n)], key=lambda x: x[1])
c_index = [elm[0] for elm in c]
c = [elm[1] for elm in c]
column_list = [list() for _ in range(w)]
for index, k in enumerate(c):
column_list[k].append(index)
column_list[k+1].append(index)
column_list[k+2].append(index)
dic = {}
for i in range(n):
dic[i] = dict()
dic[i]['left_index'] = c[i]
dic[i]['elm'] = [0, 0, 0]
dic[i]['sum'] = 0
for column in range(w):
sorted_temp_list = sorted(column_list[column], \
key=lambda x: dic[x]['sum'])
stock = s[column]
while stock != 0:
for k in sorted_temp_list:
left_index = dic[k]['left_index']
dic[k]['elm'][column-left_index] += 1
dic[k]['sum'] += 1
stock -= 1
if stock == 0:
break
def pack_print(_list):
left, center, right = _list
for _ in range(3):
s = str()
s += '#' if left > 0 else '.'
s += '#' if center > 0 else '.'
s += '#' if right > 0 else '.'
print(s)
left -= 1
center -= 1
right -= 1
for i in range(n):
index = c_index.index(i)
pack_print(dic[index]['elm'])
compass19