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. 利用一个VI写入或读取另一个VI的控件值

    利用一个VI写入或读取另一个VI的控件值(转载自浅浅的小草) 有一个VI,叫未命名1.vi.   还有一个vi,叫未命名2.vi     现在,我在 1.vi里要对2.vi的字符串控件进行写入.  可 ...

  2. P2220 [HAOI2012]容易题(快速幂)

    Describe 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下: 有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取哪些值 ...

  3. Linux学习第二道坎——系统目录结构及其作用

    如果说Linux学习的第一道坎是系统安装及对磁盘分区的理解,那么第二道坎就应该是对Linux系统目录结构及其作用的掌握了(这里主要指根目录 / 下的一级目录)! 随着Linux的不断发展,Linux的 ...

  4. 05JAVA基础方法

    一.格式 函数有返回值 public static 返回类型 方法名(参数类型 形参1,参数类型 形参2){ 函数体; return 返回值;//返回值必须是定义的返回类型 } 函数没有有返回值 pu ...

  5. box-sizing 可以使border padding不影响设置的盒子尺寸

  6. java ->多线程_线程同步、死锁、等待唤醒机制

    线程安全 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. l  我们通过一个案例,演示线 ...

  7. 基于VUE实现的h5网页Web出库单入库单打印设计

    经过将近一个月的研发,初步实现了打印单据的自定义设计,样子还有点丑陋,但是功能基本都实现了,实现了以下功能: 1.表头表尾支持动态添加行.添加列.合并单元格(可多行多列合并). 2.表头表尾分别布局, ...

  8. mybatis 自动生成代码工具

    配置官网: http://www.mybatis.org/generator/configreference/xmlconfig.html 源码:https://github.com/mybatis/ ...

  9. 仅需60秒,使用k3sup快速部署高可用K3s集群

    作者简介 Dmitriy Akulov,连续创业者,16岁时搭建了开源CDN公共服务jsDelivr的v1版本.目前是边缘托管平台appfleet创始人. 原文链接: https://ma.ttias ...

  10. [原创][开源] SunnyUI.Net 开发日志:ListBox 增加跟随鼠标滑过高亮

    QQ群里,寸目说,ListBox鼠标移动时,当前行需要焦点,我想了想,不难实现啊 不就是在鼠标移动时重绘Item嘛,何况选中的Item已经改了颜色了. 见UIListBox代码: protected ...