首页 > 试题广场 >

旋转矩阵

[编程题]旋转矩阵
  • 热度指数:5626 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
任意输入两个9阶以下矩阵,要求判断第二个是否是第一个的旋转矩阵,如果是,输出旋转角度(0、90、180、270),如果不是,输出-1。 要求先输入矩阵阶数,然后输入两个矩阵,每行两个数之间可以用任意个空格分隔。行之间用回车分隔,两个矩阵间用任意的回车分隔。

输入描述:
输入有多组数据。
每组数据第一行输入n(1<=n<=9),从第二行开始输入两个n阶矩阵。


输出描述:
判断第二个是否是第一个的旋转矩阵,如果是,输出旋转角度(0、90、180、270),如果不是,输出-1。
如果旋转角度的结果有多个,则输出最小的那个。
示例1

输入

3
1 2 3
4 5 6
7 8 9
7 4 1
8 5 2
9 6 3

输出

90
头像 csyfZhang
发表于 2020-04-30 13:06:23
7行代码完成矩阵旋转,不压行 https://blog.csdn.net/csyifanZhang/article/details/105859029↑更好的阅读体验 没怎么做过矩阵旋转的题,一开始还真的以为要每一行,每一列进行处理,其实矩阵旋转很好实现:我们通过观察可以发现 我们可以发现当顺时针9 展开全文
头像 在考古的小鱼干很有气魄
发表于 2023-03-16 09:20:14
#include <bits/stdc++.h> #define MAX 10 using namespace std; //上下翻转 void Topfilp(int (&data)[MAX][MAX],int size){ for(int i = 0; i < size 展开全文
头像 L456
发表于 2024-03-20 21:31:05
#include <bits/stdc++.h>using namespace std;bool is_90(int a[9][9],int b[9][9]){ for(int i=0;i<n;i++) for(int j=0;j<n;j++) { if(a[i][j]!= 展开全文
头像 牛客440904392号
发表于 2024-10-06 12:03:30
#include <iostream> #include <vector> using namespace std; void inputMatrix(vector<vector<int>> &matrix) { for (int i 展开全文
头像 世长
发表于 2024-02-02 16:18:33
#include<cstdio> int matrix1[9][9],matrix2[9][9],tmp[9][9]; bool IsEqual(int a[9][9],int b[9][9],int n){ for(int i=0;i<n;++i) for 展开全文
头像 牛客7777779号
发表于 2023-03-18 20:49:49
注意!逆时针旋转 #include <iostream> using namespace std; #define N 9 //判断两个矩阵是否相同 int same(int a[][N],int b[][N],int na,int nb){ int i,j,flag = 1;//fl 展开全文
头像 面向对象的斜杠青年很快乐
发表于 2023-02-24 20:32:30
#include <algorithm> #include <iostream> #include <vector> using namespace std; void showmatrix(vector<vector<int>>& m 展开全文
头像 牛客32950103号
发表于 2024-03-23 14:52:15
import java.util.Arrays; import java.util.Scanner; class Matrix{ //顺时针旋转90 public static void spin(int[][] matrix) { int len = matri 展开全文
头像 marlin818
发表于 2024-03-16 20:05:21
#include <iostream> using namespace std; const int N = 10; int g[N][N], t[N][N], tmp[N][N]; int n; bool flag = false; void turn(){ for(int 展开全文
头像 SStarry
发表于 2023-09-08 11:44:02
#include <iostream> using namespace std; const int N = 10; int n; int a[N][N], b[N][N]; bool fn(int x[N][N], int y[N][N]) //写x[n][n], y[n][n] 展开全文