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