『题解』CodeForces CF523A Rotate, Flip and Zoom

题目传送门

题目大意

给定一个字符矩阵,将其顺时针旋转 \(90^{\circ}\),水平翻转并放大两倍后的矩阵。

思路

先不管题目咋说的,来照着样例找规律。

输入:

3 2
.*.
.*.

输出:

....
....
****
****
....
....

可以发现,我们可以一列一列遍历矩阵,每一个字符输出两次,输出完一列后再输出一边刚刚输出的东西,就可以得到答案了。

再尝试模拟一下样例 \(2\),发现也是如此。

代码

#include <iostream>
using namespace std;
const int N=1e2+5;
int n,m;
char a[N][N];

int main(){
    cin >> m >> n; // 先输入的是列数,后输入的是行数
    for(int i=1; i<=n; i++){
        for(int j=1; j<=m; j++){
            cin >> a[i][j];
        }
    }
    for(int i=1; i<=m; i++){
        for(int j=1; j<=2; j++){
            for(int k=1; k<=n; k++){
                cout << a[k][i] << a[k][i];
            }
            puts("");
        }
    }
    return 0;
}
posted @ 2022-04-15 14:20  仙山有茗  阅读(31)  评论(0)    收藏  举报