Java实现N*N矩阵旋转(360度)
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度)的更多相关文章
- C# 图片旋转360度程序
这几天开发一个程序,需要将一个图片旋转360度然后每一个角度保存下来.刚开始本来想着是让美工弄的,但是让一个美工手动转360度,她会喷你一脸. using System; using System.C ...
- transition过度效果 + transform旋转360度
css样式: .animate{ width:65px; height:40px; background:#92B901; color:#ffffff; position:absolute; font ...
- css3实现头像旋转360度
css样式: .div a img{ width: 88px; height: 88px; border-radius: 88px; transition: all 1.2s ease-out 0s; ...
- LeetCode48, 如何让矩阵原地旋转90度
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode第29篇,我们来看一道简单的矩阵旋转问题. 题意 题目的要求很简单,给定一个二维方形矩阵,要求返回矩阵旋转90度之后的 ...
- python 矩阵顺时针旋转90度
# 4*4矩阵旋转90度 def matrix_transposition(data): for index,row in enumerate(data): for col in range(inde ...
- html5人物图片360度立体旋转
体验效果:http://hovertree.com/texiao/html5/10.htm 下载:http://hovertree.com/hvtart/bjae/t16oddyt.htm 代码如下: ...
- css3 向上淡入 小图标翻转 360度旋转
代码 <!DOCTYPE HTML> <html> <style type="text/css"> div { border: 1px soli ...
- 360度3D 旋转插件
Circlr插件是一款基于jQuery的可以对图片进行360度全方位旋转展示的插件.Circlr通过按一定角度规律拍摄的产品图片,制作出可以使用鼠标拖动.鼠标滚轮和移动触摸来进行图片逐帧旋转的效果.比 ...
- 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 ...
随机推荐
- spark-2.4.5 安装记录
参考 https://data-flair.training/blogs/install-apache-spark-multi-node-cluster/ 下载 spark 地址为 http://sp ...
- uCOS2014.1.10
uC/OS-Ⅱ任务的结构有两种:一种是无限循环结构:另一种是只执行一次的程序结构.若采用只执行一次的程序结构,就要用任务删除函数来实现. uC/OS-Ⅱ进行任务的管理是从调用启动函数OSStart() ...
- python 基础应用3
1.使用while .for循环分别打印字符串s = 'fsufhjshh3hf'中每一个元素. #使用while .for循环分别打印字符串s = 'fsufhjshh3hf'中每一个元素. s = ...
- Elasticsearchdump 数据导入/导出
一.安装过程 Elasticsearchdump 仓库地址,详细使用情况 当前工具主要是用来对ES中的数据进行数据导入/导出,以及对数据迁移相关,使用elasticdump工具需要使用到npm,所以需 ...
- java ->会话技术Cookie&Session
会话技术Cookie&Session 会话技术简介 存储客户端的状态 由一个问题引出今天的内容,例如网站的购物系统,用户将购买的商品信息存储到哪里?因为Http协议是无状态的,也就是说每个客户 ...
- 2018-06-18 Javascript 基础1
js是一门基于对象的若类型语言,他和JAVA没有关系: js标签放置位置:1.内联 2.外部 3.内部: js代码是有执行顺序的,这点和css代码有所区别:当对象没有加载完或者还没加载的情况下js代码 ...
- 搜索引擎优化(SEO)
一.SEM SEM(Search Engine Marketing)即搜索引擎营销.SEM是一种新的网络营销模式.SEM所做的就是全面有效地利用所搜引擎来进行网络行销推广.SEM追求最高的性价比,以最 ...
- import * as x from 'xx' 和 import x from 'xx'
普通xx.js文件 //不可变的依赖模拟数据 module.exports=[ { id: "d52dccfc-656d-11e8-b153-7cd30ad3aa7a", regi ...
- Poj 3013基础最短路
Description Christmas is coming to KCM city. Suby the loyal civilian in KCM city is preparing a big ...
- Java——去除字符串中的中文
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RemoveStrChinese { priv ...