zoukankan      html  css  js  c++  java
  • Java实现第十届蓝桥杯旋转

    试题 F: 旋转
    时间限制: 1.0s 内存限制: 512.0MB
    本题总分:15 分
    【问题描述】
    图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时 针旋转 90 度。 我们用一个 n×m 的二维数组来表示一个图片,例如下面给出一个 3×4 的 图片的例子:
    1 3 5 7 9 8 7 6 3 5 9 7
    这个图片顺时针旋转 90 度后的图片如下:
    3 9 1 5 8 3 9 7 5 7 6 7
    给定初始图片,请计算旋转后的图片。
    【输入格式】
    输入的第一行包含两个整数 n 和 m,分别表示行数和列数。 接下来 n 行,每行 m 个整数,表示给定的图片。图片中的每个元素(像 素)为一个值为 0 至 255 之间的整数(包含 0 和 255)。
    【输出格式】
    输出 m 行 n 列,表示旋转后的图片。
    试题F: 旋转 7
    第十届蓝桥杯大赛软件类省赛 Java 大学 C 组
    【样例输入】 3 4 1 3 5 7 9 8 7 6 3 5 9 7
    【样例输出】 3 9 1 5 8 3 9 7 5 7 6 7
    【评测用例规模与约定】 对于 30% 的评测用例,1≤n,m≤10。 对于 60% 的评测用例,1≤n,m≤30。 对于所有评测用例,1≤n,m≤100。

    //对于这种题,作者认为最好的方法就是用笔和纸在纸上写一遍
    //把旋转过来的左边写一下,看看对应的是原来的哪一个坐标

    import java.util.Scanner;
    
    
    
    public class xuanzhuan {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int n = sc.nextInt();
    		int m = sc.nextInt();
    		int [][] num = new int [n+1][m+1];
    		for (int i = 1; i <=n; i++) {
    			for (int j = 1; j <=m; j++) {
    				num[i][j]=sc.nextInt();
    			}
    		}
    		int [][]shu = new int [m+1][n+1];
    		for (int i = 1; i <=m; i++) {
    			for (int j = 1; j <=n; j++) {
    				shu[i][j]=num[n-j+1][i];       //关键点在这
    			}
    		}
    		for (int i = 1; i <=m; i++) {
    			for (int j = 1; j <=n; j++) {
    				System.out.print(shu[i][j]+" ");
    			}
    			System.out.println();
    		}
    	}
    
    }
    
    
  • 相关阅读:
    优先队列
    Problem W UVA 662 二十三 Fast Food
    UVA 607 二十二 Scheduling Lectures
    UVA 590 二十一 Always on the run
    UVA 442 二十 Matrix Chain Multiplication
    UVA 437 十九 The Tower of Babylon
    UVA 10254 十八 The Priest Mathematician
    UVA 10453 十七 Make Palindrome
    UVA 10163 十六 Storage Keepers
    UVA 1252 十五 Twenty Questions
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077597.html
Copyright © 2011-2022 走看看