210694 图像旋转

题目描述

输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。

输入格式

第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1≤n≤100,1≤m≤100。

接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。

输出格式

m行,每行n个整数,为顺时针旋转90度后的图像。相邻两个整数之间用单个空格隔开。

样例

样例输入

3 3
1 2 3
4 5 6
7 8 9
样例输出

7 4 1
8 5 2
9 6 3
数据范围与提示 分类标签

[二维数组]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

int a[101][101];
int b;
int c;
int d;


// The main procedure
int main() {
  cin>>b;
  cin>>c;
  for (int i = 1; i <= b; i++) {
    for (int j = 1; j <= c; j++) {
      cin>>a[i][j];
    }
  }
  for (int i = 1; i <= c; i++) {
    for (int j = b; j >= 1; j--) {
      if (j < b) {
        cout<<" ";
      }
      cout<<a[j][i];
    }
    if (i < c) {
      cout<<'\n';
    }
  }
  return 0;
}

Blockly题解代码图片