結果
問題 | No.459 C-VS for yukicoder |
ユーザー |
|
提出日時 | 2017-12-14 23:18:07 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 182 ms / 2,000 ms |
コード長 | 880 bytes |
コンパイル時間 | 330 ms |
コンパイル使用メモリ | 82,384 KB |
実行使用メモリ | 84,060 KB |
最終ジャッジ日時 | 2024-12-14 13:37:27 |
合計ジャッジ時間 | 8,747 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 58 |
ソースコード
h, w, n = map(int, input().split()) s = [input() for i in range(h)] cnt = [0] * w for i in range(h): for j in range(w): cnt[j] += s[i][j] == '#' ret = [[0] * 3 for i in range(n)] empty = [True] * n cell = [[] for i in range(w)] for i in range(n): c = int(input()) cell[c].append(i) for i in range(w): cells = [] if i >= 2: cells.extend([(x, 2) for x in cell[i - 2]]) if i >= 1: cells.extend([(x, 1) for x in cell[i - 1]]) cells.extend([(x, 0) for x in cell[i]]) for x, y in cells: if not cnt[i]: break if empty[x]: ret[x][y] += 1 cnt[i] -= 1 empty[x] = False for x, y in cells: r = min(cnt[i], 3 - ret[x][y]) ret[x][y] += r cnt[i] -= r for e in ret: r = [['.'] * 3 for i in range(3)] for i in range(3): for j in range(e[i]): r[j][i] = '#' for i in range(3): r[i] = ''.join(r[i]) print(*r, sep='\n')