• 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();
    		}
    	}
    
    }
    
    
  • 相关阅读:
    Mysql表连接查询
    mysql查询语句 和 多表关联查询 以及 子查询
    MySql 模糊查询、范围查询
    Mysql外键约束设置使用方法
    python基础:re模块匹配时贪婪和非贪婪模式
    解决Ubuntu 16.04下提示boot分区空间不足的办法
    String,StringBuffer,StringBuilder的区别
    多线程模拟生产者和消费者模型
    线程同步处理
    多线程的三种实现
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12947754.html
Copyright © 2020-2023  润新知