結果
問題 |
No.459 C-VS for yukicoder
|
ユーザー |
![]() |
提出日時 | 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'])