试题编号: | 201503-1 |
试题名称: | 图像旋转 |
时间限制: | 5.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。 样例输入 2 3 样例输出 3 4 评测用例规模与约定 1 ≤ n, m ≤ 1,000,矩阵中的数都是不超过1000的非负整数。 |
java:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
int[][] arr = new int[m][n];
for(int i = 0; i < m; i++) {
for(int j = 0; j < n; j++) {
arr[i][j] = sc.nextInt();
}
}
sc.close();
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
System.out.print(arr[j][n-1-i] + " ");
}
System.out.println();
}
}
}
c++:
#include<iostream>
using namespace std;
int a[1000][1000];
int main() {
int m, n;
int i, j;
cin>>n>>m;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j ++)
{
cin>>a[i][j];
}
}
for (i = 1; i <= m; i++)
{
for (j = 0; j < n; j ++)
{
if (j == n-1)
{
cout<<a[j][m-i]<<endl;
}
else
{
cout<<a[j][m-i]<<" ";
}
}
}
return 0;
}
python:
n,m = map(int,(input().split()))
img = []
for i in range(n):
a = list(map(int,input().split()))
img.append(a)
for i in range(m):
for j in range(n):
print(img[j][m-1-i],end=" ")
print()