#include <iostream>
#include <cstdio>
using namespace std;
char pic[50][50];
char res[50][50];
void rotate(char src[50][50], char dst[50][50], int srcRow, int srcCol) {
for (int i = 0; i < srcRow; ++i) {
for (int j = 0; j < srcCol; ++j) {
int dsti = j;
int dstj = -1 * i + srcRow - 1;
dst[dsti][dstj] = src[i][j];
}
}
}
void printMat(char src[50][50], int row, int col) {
for (int i = 0; i < row; ++i) {
for (int j = 0; j < col; ++j) {
printf("%c", src[i][j]);
}
printf("\n");
}
}
int main(int argc, char** argv) {
int T;
scanf("%d", &T);
while (T--) {
int N, M;
scanf("%d %d", &N, &M);
for (int i = 0; i < N; ++i) scanf("%s", pic[i]);
int angle;
scanf("%d", &angle);
int times = angle / 90;
switch(times) {
case 1:
rotate(pic, res, N, M);
printMat(res, M, N);
break;
case 2:
rotate(pic, res, N, M);
rotate(res, pic, M, N);
printMat(pic, N, M);
break;
case 3:
rotate(pic, res, N, M);
rotate(res, pic, M, N);
rotate(pic, res, N, M);
printMat(res, M, N);
break;
default:
printMat(pic, N, M);
}
}
return 0;
}
304. 旋转图像-计算机一2014
最新推荐文章于 2021-07-27 13:40:23 发布