CCFテーマ:画像の回転
1459 ワード
問題の説明
回転は画像処理の基本的な操作であり、この問題では、1つの画像を反時計回りに90度回転させる必要があります.コンピュータ内の画像表示は1つのマトリクスで表すことができ、1つの画像を回転させるためには、対応するマトリクスを回転させるだけでよい.
入力フォーマット
入力された第1行は、画像マトリクスの行数と列数をそれぞれ表す2つの整数n,mを含む.次にn行毎にm個の整数を含み、入力された画像を表す.
出力フォーマット
出力m行、各行にn個の整数を含み、元のマトリクスが反時計回りに90度回転したマトリクスを表す.
サンプル入力
2 3 1 5 3 3 2 4
サンプル出力
3 4 5 2 1 3
評価用例の規模と約束
1≦n,m≦1000,行列中の数はいずれも1000を超えない非負の整数である.
===================================================================================
に答える
コードは次のとおりです.
上と違うのは
展開しました.
コードは次のとおりです.
回転は画像処理の基本的な操作であり、この問題では、1つの画像を反時計回りに90度回転させる必要があります.コンピュータ内の画像表示は1つのマトリクスで表すことができ、1つの画像を回転させるためには、対応するマトリクスを回転させるだけでよい.
入力フォーマット
入力された第1行は、画像マトリクスの行数と列数をそれぞれ表す2つの整数n,mを含む.次にn行毎にm個の整数を含み、入力された画像を表す.
出力フォーマット
出力m行、各行にn個の整数を含み、元のマトリクスが反時計回りに90度回転したマトリクスを表す.
サンプル入力
2 3 1 5 3 3 2 4
サンプル出力
3 4 5 2 1 3
評価用例の規模と約束
1≦n,m≦1000,行列中の数はいずれも1000を超えない非負の整数である.
===================================================================================
に答える
コードは次のとおりです.
package CSP4;
import java.util.Scanner;
public class InvPic {
public static void main(String[] args) {
new InvPic().run();
}
public void run(){
Scanner sc=new Scanner(System.in);
int M= sc.nextInt();
int N=sc.nextInt();
//int[][] arr=new int[M][N];
int[][] arr=new int[N][M];
for(int i=0;i
上と違うのは
arr[N-j-1][i]=sc.nextInt();
展開しました.
コードは次のとおりです.
package CSP4;
import java.util.Scanner;
public class InvPic1 {
public static void main(String[] args) {
new InvPic().run();
}
public void run(){
Scanner sc=new Scanner(System.in);
int M= sc.nextInt();
int N=sc.nextInt();
int[][] arr=new int[N][M];
for(int i=0;i=0;j--){
for(int i=0;i