結果
問題 |
No.565 回転拡大
|
ユーザー |
![]() |
提出日時 | 2017-09-09 00:02:35 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 10 ms / 2,000 ms |
コード長 | 1,138 bytes |
コンパイル時間 | 11,807 ms |
コンパイル使用メモリ | 224,728 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-07 12:26:24 |
合計ジャッジ時間 | 12,908 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
package main import ( "fmt" ) func main() { var R, K, H, W int fmt.Scan(&R, &K, &H, &W) HW := max(H, W) c := make([][]byte, HW) for i := 0; i < HW; i++ { c[i] = make([]byte, HW) } var s string for i := 0; i < H; i++ { fmt.Scan(&s) for j := 0; j < W; j++ { c[i][j] = s[j] } } d := make([][]byte, HW) for i := 0; i < HW; i++ { d[i] = make([]byte, HW) } switch R { case 0: for i := 0; i < H; i++ { for j := 0; j < W; j++ { d[i][j] = c[i][j] } } case 90: for i := 0; i < H; i++ { for j := 0; j < W; j++ { d[j][H-i-1] = c[i][j] } } H, W = W, H case 180: for i := 0; i < H; i++ { for j := 0; j < W; j++ { d[H-1-i][W-1-j] = c[i][j] } } case 270: for i := 0; i < H; i++ { for j := 0; j < W; j++ { d[W-1-j][i] = c[i][j] } } H, W = W, H } for i := 0; i < H; i++ { for t := 0; t < K; t++ { for j := 0; j < W; j++ { for t2 := 0; t2 < K; t2++ { fmt.Print(string(d[i][j])) } } fmt.Print("\n") } } } func max(a, b int) int { if a > b { return a } return b } func min(a, b int) int { if a < b { return a } return b }