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. [hdu5371 Hotaru's problem]最大回文半径

    题意:在一个字符串里面找最长的[A][B][A]子串,其中[A][B]是回文串,[A]和[B]的长度相等 思路:[A][B]是回文串,所以[B][A]也是回文串.先预处理出每个点的最大回文半径Ri,枚 ...

  2. hive经典练习题

    一.建表和加载数据 1.student表 create table if not exists student(s_id int,s_name string,s_birth string,s_sex ...

  3. 一句话+两张图搞定JDK1.7HashMap,剩下凑字数

    JDK1.7 HashMap一探究竟 HashMap很简单,原理一看散列表,实际数组+链表;Hash找索引.索引若为null,while下一个.Hash对对碰,链表依次查.加载因子.75,剩下无脑扩数 ...

  4. Java多线程带返回值的Callable接口

    Java多线程带返回值的Callable接口 在面试的时候,有时候是不是会遇到面试会问你,Java中实现多线程的方式有几种?你知道吗?你知道Java中有可以返回值的线程吗?在具体的用法你知道吗?如果两 ...

  5. 1025 PAT Ranking (25分) 思路分析 +满分代码

    题目 Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of ...

  6. removebg抠图小工具

    由于比较简单,直接上代码(removebg接口官网),更多小工具获取 (1)官网API,需注册获取X-Api-Key:removebg_官网api.py import requests respons ...

  7. 关于Android的真机测试

    步骤: 1.开启手机USB调试 2.数据线连接手机和电脑 3.eclipse需要重启 4.在eclipse的run里面的runconfig...里面设置为启动时总是提醒开发者选择 具体事例: 我的手机 ...

  8. C#网络编程入门之UDP

    目录: C#网络编程入门系列包括三篇文章: (一)C#网络编程入门之UDP (二)C#网络编程入门之TCP (三)C#网络编程入门之HTTP 一.概述 UDP和TCP是网络通讯常用的两个传输协议,C# ...

  9. [CSS工具推荐]0001.推荐 10 个超棒的 CSS3 代码生成工具

    引言:新的在线工具和 WebApp 帮助开发者快速地创建网站而不用写代码.前端开发已经在框架和代码库方面有了很大的进展. 现在许多开发者已经忘记了代码生成器在构建网站时的价值.下面的资源是完全免费的 ...

  10. [翔哥高手无敌之路]0-002.如何提取apk中的信息?

    面对一款apk软件,我们如何去获取它的信息,如何获取它的版本号,包名,或者ID,用户权限,这些信息都隐藏在apk包中的AndroidManifest.xml文件中,解开它我们就能获取任何想要的信息.但 ...