結果
問題 |
No.565 回転拡大
|
ユーザー |
![]() |
提出日時 | 2023-01-19 22:28:35 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 676 bytes |
コンパイル時間 | 2,903 ms |
コンパイル使用メモリ | 222,308 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-22 17:20:31 |
合計ジャッジ時間 | 3,335 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
import std; void main() { int R, K, H, W; readf("%d %d\n%d %d\n", R, K, H, W); auto c = new string[](H); foreach (i; 0 .. H) readf("%s\n", c[i]); int X = H * K, Y = W * K; auto res = new dchar[][](X, Y); foreach (i; 0 .. X) { foreach (j; 0 .. Y) { res[i][j] = c[i/K][j/K]; } } foreach (_; 0 .. R/90) { res = rotate(res); } writefln("%(%-(%s%)\n%)", res); } T[][] rotate(T)(T[][] mat) { auto r = mat.length, c = mat[0].length; auto ret = new T[][](c, r); foreach (i; 0 .. r) { foreach (j; 0 .. c) { ret[j][r-i-1] = mat[i][j]; } } return ret; }