CSP/CCF计算机职业资格认证题目:[201503-1 图像旋转]【已解决】

问题描述 

旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。
计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。

输入格式

输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。
  接下来n行每行包含m个整数,表示输入的图像。

输出格式

输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。

样例输入
2 3
1 5 3
3 2 4

样例输出
3 4
5 2
1 3

评测用例规模与约定
  1 ≤ n, m ≤ 1,000,矩阵中的数都是不超过1000的非负整数。

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in =new Scanner(System.in);
		int x=in.nextInt();//行
		int y=in.nextInt();//列
		int [][]arr=new int [x][y];//原矩阵
		int [][]brr=new int [y][x];//旋转图像矩阵
		for(int i=0;i<x;i++)
		{
			for(int j=0;j<y;j++)
			{
				arr[i][j]=in.nextInt(); //画矩阵
			}
		}
		int tempX;//
		int tempY=y;//
		for(int i=0;i<y;i++)
		{
			tempX=0;
			for(int j=0;j<x;j++)
			{
				brr[i][j]=arr[tempX][tempY-1];
				tempX++;
			}
			tempY--;
		}
			
		for(int i=0;i<y;i++)
		{
			for(int j=0;j<x;j++)
			{
				System.out.print(brr[i][j]+" ");
			}
			System.out.println();
		}
	}
}

你可能感兴趣的:(CSP/CCF)