結果
問題 |
No.565 回転拡大
|
ユーザー |
|
提出日時 | 2017-09-09 16:14:01 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 967 bytes |
コンパイル時間 | 2,175 ms |
コンパイル使用メモリ | 200,004 KB |
最終ジャッジ日時 | 2025-01-05 02:52:22 |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
#include <bits/stdc++.h> using namespace std; int R, K; int H, W; vector<string> G; vector<string> rotate90(const vector<string> &g) { vector<string> r(g[0].size(), string(g.size(), ' ')); for (int i = 0; i < int(g.size()); ++i) { for (int j = 0; j < int(g[0].size()); ++j) { r[j][int(g.size()) - 1- i] = g[i][j]; } } return r; } int main() { ios::sync_with_stdio(false); cin >> R >> K; cin >> H >> W; G.assign(H, string()); for (int i = 0; i < H; ++i) { cin >> G[i]; } for (int i = 0; i < R / 90; ++i) { G = rotate90(G); } vector<string> ans(int(G.size()) * K, string(G[0].size() * K, ' ')); for (int i = 0; i < int(G.size()); ++i) { for (int j = 0; j < int(G[0].size()); ++j) { for (int k = i * K; k < i * K + K; ++k) { for (int l = j * K; l < j * K + K; ++l) { ans[k][l] = G[i][j]; } } } } for (const string &s: ans) { cout << s << endl; } return 0; }