『题解』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;
}

浙公网安备 33010602011771号