結果

問題 No.565 回転拡大
ユーザー lam6er
提出日時 2025-03-20 18:50:26
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 40 ms / 2,000 ms
コード長 838 bytes
コンパイル時間 314 ms
コンパイル使用メモリ 82,460 KB
実行使用メモリ 54,336 KB
最終ジャッジ日時 2025-03-20 18:52:32
合計ジャッジ時間 2,493 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

R, K = map(int, input().split())
H, W = map(int, input().split())
original = [list(input().strip()) for _ in range(H)]

# Define rotation methods
rotate_methods = {
    0: lambda orig, h, w: [row.copy() for row in orig],
    90: lambda orig, h, w: [[orig[h - 1 - y][x] for y in range(h)] for x in range(w)],
    180: lambda orig, h, w: [[orig[h - 1 - y][w - 1 - x] for x in range(w)] for y in range(h)],
    270: lambda orig, h, w: [[orig[y][w - 1 - x] for y in range(h)] for x in range(w)]
}

# Rotate the original image
rotated = rotate_methods[R](original, H, W)

# Scale the rotated image
scaled = []
for row in rotated:
    expanded_row = []
    for cell in row:
        expanded_row.extend([cell] * K)
    for _ in range(K):
        scaled.append(expanded_row)

# Output the scaled image
for line in scaled:
    print(''.join(line))
0