結果
問題 |
No.565 回転拡大
|
ユーザー |
![]() |
提出日時 | 2020-01-02 04:11:56 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,220 bytes |
コンパイル時間 | 1,927 ms |
コンパイル使用メモリ | 172,888 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-22 17:36:29 |
合計ジャッジ時間 | 3,218 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<(n);++i) #define all(a) (a).begin(),(a).end() #define dunk(a) cout << (a) << endl using namespace std; typedef long long ll; void print(vector<string> C) { int H = C.size(); rep(i, H) dunk(C[i]); return; } vector<string> rotate(vector<string> C, int R) { if (R == 0) return C; int H = C.size(); int W = C[0].length(); if (R == 90) { vector<string> res(W); rep(i, W) { res[i] = ""; rep(j, H) res[i] += C[H - 1 - j][i]; } return res; } if (R == 180) { vector<string> res(H); rep(i, H) { res[i] = ""; rep(j, W) res[i] += C[H - 1 - i][W - 1 - j]; } return res; } if (R == 270) { vector<string> res(W); rep(i, W) { res[i] = ""; rep(j, H) res[i] += C[j][W - 1 - i]; } return res; } return C; } vector<string> scale(vector<string> C, int k) { int H = C.size(); int W = C[0].size(); vector<string> res(H * k); rep(i, H * k) { rep(j, W * k) { res[i] += C[i / k][j / k]; } } return res; } int main() { ios::sync_with_stdio(false); cin.tie(0); int R, k, H, W; cin >> R >> k >> H >> W; vector<string> C(H); rep(i, H) cin >> C[i]; C = rotate(C, R); C = scale(C, k); print(C); return 0; }