結果
| 問題 | No.3804 Crossword Key Filler |
| ユーザー |
kidodesu
|
| 提出日時 | 2026-11-14 15:17:19 |
| 言語 | PyPy3 (8.0.1 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 54 ms / 2,000 ms |
| + 107µs | |
| コード長 | 918 bytes |
| 記録 | |
| コンパイル時間 | 86 ms |
| コンパイル使用メモリ | 64,316 KB |
| 実行使用メモリ | 59,128 KB |
| 最終ジャッジ日時 | 2026-11-14 15:17:25 |
| 合計ジャッジ時間 | 5,093 ms |
|
ジャッジサーバーID (参考情報) |
judge5_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 50 |
ソースコード
def main():
h, w = list(map(int, input().split()))
S = ["#"*(w+2)] + ["#"+input()+"#" for _ in range(h)] + ["#"*(w+2)]
h += 2
w += 2
A = [[S[y][x] for x in range(w)] for y in range(h)]
Ans = []
for y in range(1, h-1):
for x in range(1, w-1):
f0 = f1 = 0
if S[y][x-1] + S[y][x] + S[y][x+1] == "#..":
f0 = 1
if S[y-1][x] + S[y][x] + S[y+1][x] == "#..":
f1 = 1
if f0 or f1:
Ans.append((y, x))
for _ in range(int(input())):
k, d, t = list(map(str, input().split()))
k, d = int(k)-1, int(d)
y, x = Ans[k]
if d == 0:
for nx in range(x, x+len(t)):
A[y][nx] = t[nx-x]
else:
for ny in range(y, y+len(t)):
A[ny][x] = t[ny-y]
for a in A[1: -1]:
print("".join(a[1: -1]))
main()
kidodesu