結果
| 問題 | No.565 回転拡大 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2017-09-08 22:37:48 | 
| 言語 | Java (openjdk 23) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 150 ms / 2,000 ms | 
| コード長 | 1,945 bytes | 
| コンパイル時間 | 4,021 ms | 
| コンパイル使用メモリ | 78,328 KB | 
| 実行使用メモリ | 41,768 KB | 
| 最終ジャッジ日時 | 2024-11-07 06:23:27 | 
| 合計ジャッジ時間 | 9,680 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 30 | 
ソースコード
import java.io.*;
import java.util.*;
public class Main_yukicoder565 {
	private static Scanner sc;
	private static Printer pr;
	private static void solve() {
		int r = sc.nextInt();
		int k = sc.nextInt();
		int h = sc.nextInt();
		int w = sc.nextInt();
		char[][] c = new char[h][];
		for (int i = 0; i < h; i++) {
			c[i] = sc.next().toCharArray();
		}
		char[][] ret = null;
		if (r == 0) {
			ret = new char[h * k][w * k];
			for (int i = 0; i < h; i++) {
				for (int ik = 0; ik < k; ik++) {
					for (int j = 0; j < w; j++) {
						for (int jk = 0; jk < k; jk++) {
							ret[i * k + ik][j * k + jk] = c[i][j];
						}
					}
				}
			}
		} else if (r == 180) {
			ret = new char[h * k][w * k];
			for (int i = 0; i < h; i++) {
				for (int ik = 0; ik < k; ik++) {
					for (int j = 0; j < w; j++) {
						for (int jk = 0; jk < k; jk++) {
							ret[i * k + ik][j * k + jk] = c[h - 1 - i][w - 1 - j];
						}
					}
				}
			}
		} else if (r == 90) {
			ret = new char[w * k][h * k];
			for (int j = 0; j < w; j++) {
				for (int jk = 0; jk < k; jk++) {
					for (int i = 0; i < h; i++) {
						for (int ik = 0; ik < k; ik++) {
							ret[j * k + jk][i * k + ik] = c[h - 1 - i][j];
						}
					}
				}
			}
		} else {
			ret = new char[w * k][h * k];
			for (int j = 0; j < w; j++) {
				for (int jk = 0; jk < k; jk++) {
					for (int i = 0; i < h; i++) {
						for (int ik = 0; ik < k; ik++) {
							ret[j * k + jk][i * k + ik] = c[i][w - 1 - j];
						}
					}
				}
			}
		}
		for (int i = 0; i < ret.length; i++) {
			for (int j = 0; j < ret[0].length; j++) {
				pr.print(ret[i][j]);
			}
			pr.println();
		}
	}
	// ---------------------------------------------------
	public static void main(String[] args) {
		sc = new Scanner(System.in);
		pr = new Printer(System.out);
		solve();
		pr.close();
		sc.close();
	}
	private static class Printer extends PrintWriter {
		Printer(PrintStream out) {
			super(out);
		}
	}
}
            
            
            
        