結果
問題 | 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;}