N*N矩阵旋转

Description

给你一个n*n的矩阵,你的任务是将它逆时针旋转角度d。

[输入]

输入的第一个数为T,表示接下来有T组数据。

每组数据的格式如下:

第一行为两个整数n,d。1<=n<=100,d是90的倍数。

接下来有n行。每行n个整数,每个数之间由一个空格隔开,表示这个矩阵的元素。

[输出]

输出旋转后的矩阵,注意行末不要输出多余的空格。

[样例输入]

2

3 90

1 2 3

4 5 6

7 8 9

4 270

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

[样例输出]

3 6 9

2 5 8

1 4 7

13 9 5 1

14 10 6 2

15 11 7 3

16 12 8 4

package 第六次模拟;

import java.util.Scanner;

public class Demo8旋转 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
while (n-- > 0) { int a = sc.nextInt();
int b = sc.nextInt();
int[][] arr = new int[a][b];
for (int i = 0; i < a; i++) {
for (int j = 0; j < a; j++) {
arr[i][j] = sc.nextInt();
}
}
if (b % 360 / 90 == 1)
fun_90(arr, a, a);
else if (b % 360 / 90 == 3)
fun90(arr, a, a);
else if (b % 360 / 90 == 2)
fun180(arr, a, a);
else {
for (int i = 0; i < a; i++) {
for (int j = 0; j < a; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
} private static void fun180(int[][] num, int m, int n) {
// TODO 自动生成的方法存根
for (int i = m - 1; i >= 0; i--) {
for (int j = n - 1; j >= 0; j--) {
System.out.print(num[i][j] + " ");
}
System.out.println();
} } // 90
public static void fun90(int[][] num, int m, int n) {
int[][] shu = new int[m + 1][n + 1];
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
shu[i-1][j-1] = num[n - j ][i-1]; // 关键点在这
}
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
System.out.print(shu[i][j] + " ");
}
System.out.println();
}
} // -90
private static void fun_90(int[][] arr, int a, int b) {
for (int i = b - 1; i >= 0; i--) {
for (int j = 0; j < a; j++) {
System.out.print(arr[j][i] + " ");
}
System.out.println();
}
} }

Java实现N*N矩阵旋转(360度)的更多相关文章

  1. C# 图片旋转360度程序

    这几天开发一个程序,需要将一个图片旋转360度然后每一个角度保存下来.刚开始本来想着是让美工弄的,但是让一个美工手动转360度,她会喷你一脸. using System; using System.C ...

  2. transition过度效果 + transform旋转360度

    css样式: .animate{ width:65px; height:40px; background:#92B901; color:#ffffff; position:absolute; font ...

  3. css3实现头像旋转360度

    css样式: .div a img{ width: 88px; height: 88px; border-radius: 88px; transition: all 1.2s ease-out 0s; ...

  4. LeetCode48, 如何让矩阵原地旋转90度

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode第29篇,我们来看一道简单的矩阵旋转问题. 题意 题目的要求很简单,给定一个二维方形矩阵,要求返回矩阵旋转90度之后的 ...

  5. python 矩阵顺时针旋转90度

    # 4*4矩阵旋转90度 def matrix_transposition(data): for index,row in enumerate(data): for col in range(inde ...

  6. html5人物图片360度立体旋转

    体验效果:http://hovertree.com/texiao/html5/10.htm 下载:http://hovertree.com/hvtart/bjae/t16oddyt.htm 代码如下: ...

  7. css3 向上淡入 小图标翻转 360度旋转

    代码 <!DOCTYPE HTML> <html> <style type="text/css"> div { border: 1px soli ...

  8. 360度3D 旋转插件

    Circlr插件是一款基于jQuery的可以对图片进行360度全方位旋转展示的插件.Circlr通过按一定角度规律拍摄的产品图片,制作出可以使用鼠标拖动.鼠标滚轮和移动触摸来进行图片逐帧旋转的效果.比 ...

  9. 2018 Multi-University Training Contest 4 Problem J. Let Sudoku Rotate 【DFS+剪枝+矩阵旋转】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=6341 Problem J. Let Sudoku Rotate Time Limit: 2000/100 ...

随机推荐

  1. Queue-PriorityQueue源码解析

    Queue队列通常是先进先出(FIFO),但也有特殊的非FIFO,如本文也分析的PriorityQueue. Queue接口 Queue接口定义的方法: 添加元素接口: add(E e) -> ...

  2. vue项目中使用bpmn-流程图xml文件中节点属性转json结构

    内容概述 本系列“vue项目中使用bpmn-xxxx”分为七篇,均为自己使用过程中用到的实例,手工原创,目前陆续更新中.主要包括vue项目中bpmn使用实例.应用技巧.基本知识点总结和需要注意事项,具 ...

  3. Centos ps命令

    输出格式(ps -aux) USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND VSZ:占用的虚拟内存大小() RSS: COMMAND: 执 ...

  4. Mysql 常用函数(7)- length 函数

    Mysql常用函数的汇总,可看下面系列文章 https://www.cnblogs.com/poloyy/category/1765164.html length 的作用 返回字符串的字节长度 注意: ...

  5. 09JAVA基础-常用类

    1.Scanner //获取键盘输入 Scanner sc = new Scanner(System.in); int num = sc.nextIn(); String str = sc.nextL ...

  6. Ubuntu:Tkinter无法导入

    最近想写个GUI小程序,所以就使用了python内置的Tkinter包,但是导入时竟然提示没有这个包? 使用命令搜索了下: sudo apt search python3-tk ,显示已经安装了.又重 ...

  7. Python-控制台实现简单的名片管理系统

    通过Python开发一个基于控制台的名片管理系统,具体看下图以及相关代码. cards_main.py文件中提供程序的入口 import cards_toolslx while True: # TOD ...

  8. for循环中break和continue的区别

    break 会立即退出循环,强制执行循环后面的语句 默认只会终止紧邻的循环,如果要终止其他循环,需要给循环起名字 例如: name:for(var i = 0; i < 5; i++){ for ...

  9. Angular知识点复习

    Angular第三方UI组件库(github搜“awesome angular ")-----lonic 概述:是一个第三方的适用于移动端App的UI组件库,可以与Angular/React ...

  10. js倒计时 手机休眠时 时间不进行减少

    http://www.111cn.net/wy/js-ajax/94218.htm 手机版网页js倒计时存在的问题与解决的方法 www.111cn.net 更新:2015-09-16 编辑:kp123 ...