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();
    		}
    	}
    
    }
    
    
  • 相关阅读:
    [学习笔记&教程] 信号, 集合, 多项式, 以及各种卷积性变换 (FFT,NTT,FWT,FMT)
    [学习笔记] CDQ分治&整体二分
    [日常] NOIp 2018 滚粗记
    [学习笔记] 模拟退火 (Simulated Annealing)
    [日常] NOIWC 2018爆零记
    [日常] PKUWC 2018爆零记
    [日常] 最近的一些破事w...
    [BZOJ 1877][SDOI2009]晨跑
    [COGS 2583]南极科考旅行
    [日常] NOIP 2017滚粗记
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077743.html
Copyright © 2011-2022 走看看