目录

  • 题目描述
  • 输入描述
  • 输出描述
  • 示例
  • 实现思路
  • 代码实现

题目描述

输入一个N阶方阵(0<N<10),输出此方阵顺时针旋转M(0<=M<=10000)次后的方阵

旋转举例:如下四个三阶方阵从左到右为数字围绕中心顺时针旋转
1 2 3
4 5 6
7 8 9

7 4 1
8 5 2
9 6 3

9 8 7
6 5 4
3 2 1

3 6 9
2 5 8
1 4 7

输入描述

第一行输入一个正整数N(0<N<10)

接下来的N行,每行N个整数,用空格分开,为方阵的数据

最后一行输入一个正整数M(0<=M<=10000)

说明:不用考虑异常输入,所有输入都是正常的,严格遵从取值范围

输出描述

输出N行,每行N个整数,用空格分开,为旋转后的数据

示例

输入:
1
1 2 3
4 5 6
7 8 9
2

输出:
9 8 7
6 5 4
3 2 1

实现思路

以如下方阵为例:
1 2 3
4 5 6
7 8 9

从最外圈开始,可以视为一个正方形,依次让正方形的边按照顺时针方向向后赋值:
原本123的位置就变成了741
原本369的位置就变成了123
原本987的位置就变成了369
原本741的位置就变成了987

从最外圈往里每一圈都按照上述操作执行向后赋值;

上述为旋转一次的步骤,按照M的次数递归调用即可。

代码实现

#include <iostream>
#include <vector>using namespace std;vector<vector<int>> getRotate(vector<vector<int>> values)
{vector<vector<int>> res = values;int size = values.size();int count = size / 2;for (int i = 0; i < count; i++){for (int j = i; j < size - i; j++){res[i][j] = values[size - 1 - j][i];res[j][size - 1-i] = values[i][j];res[size - 1-i][size - 1 - j] = values[j][size - 1-i];res[size - 1 - j][i] = values[size - 1-i][size - 1 - j];}}return res;
}int main()
{// inputint n = 0;int m = 0;vector<vector<int>> values_ori;vector<vector<int>> values_res;cin >> n;int temp = 0;vector<int> temps = {};for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){cin >> temp;temps.push_back(temp);}values_ori.push_back(temps);temps.clear();}cin >> m;// rotatevalues_res = values_ori;m = m % 4;for (int i = 0; i < m; i++){values_res = getRotate(values_res);}// outputfor (int i = 0; i < n; i++){for (int j = 0; j < n; j++){cout << values_res[i][j];if (j != n - 1){cout << " ";}}cout << endl;}
}

C++实现方针顺时针旋转相关推荐

  1. PC端、移动端手机竖拍原图压缩上传顺时针旋转90°的解决方案

    问题背景 最近在做的项目中,不管是移动端还是后台系统都涉及到了手机照片压缩上传的问题,做完功能测试的时候发现图片回显的时候有些顺时针旋转了90°(竖拍照片,不管是ios还是android都存在这问题) ...

  2. LeetCode——Rotate Image(二维数组顺时针旋转90度)

    问题: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...

  3. 柳传志:联想又遇新坎儿 要做斯巴达克方针

    1月30日消息,在联想公司春晚上,现任联想集团董事局名誉主席.联想集团创始人柳传志出席,并做了讲话. 他提到联想发展到今天曾经有过三道大坎:第一个坎是在1994年,国外的品牌大举进入中国的时候,中国电 ...

  4. 编写程序python、实现将矩阵顺时针旋转90°_Java实现矩阵顺时针旋转90度的示例...

    实现矩阵的转置较为容易,只需要将纵横下标互换即可.实现矩阵旋转稍微麻烦一点. 解题思路: 矩阵转换90度,则原矩阵的纵下标转变为新矩阵的横下标:原矩阵的横下标转变为新矩阵的纵下标,并且顺序相反. pu ...

  5. 【Android RTMP】NV21 图像旋转处理 ( 图像旋转算法 | 后置摄像头顺时针旋转 90 度 | 前置摄像头顺时针旋转 90 度 )

    文章目录 安卓直播推流专栏博客总结 一. 后置摄像头顺时针旋转 90 度 二. 前置摄像头顺时针旋转 90 度 三. NV21 格式图像旋转代码 安卓直播推流专栏博客总结 Android RTMP 直 ...

  6. 【Android RTMP】NV21 图像旋转处理 ( 问题描述 | 图像顺时针旋转 90 度方案 | YUV 图像旋转细节 | 手机屏幕旋转方向 )

    文章目录 安卓直播推流专栏博客总结 一. NV21 图像格式与 Camera图像传感器方向问题 二. NV21 图像格式视频旋转 1. 图像旋转问题及解决方案 ( 顺时针旋转 90 度 ) 2. NV ...

  7. python顺时针旋转_Python之二维数组N*N顺时针旋转90度

    需求:把一个二维数组顺时针旋转90度,现实数据的替换. 比如把4*4的二维数组顺时针旋转90度 原始数据是一个嵌套列表:[['A', 'B', 'C', 'D'], ['A', 'B', 'C', ' ...

  8. node 16位 转24位_同时将24位和32位BMP图像顺时针旋转90度

    上一次我们将24位的皮卡丘旋转了90度,但是后来改需求了...要求把32位的.bmp文件也能够旋转90度.上次就懵逼的我继续懵逼,只好继续转向CSDN求助. 浏览了各种求助帖(还找到了数年前的信科大一 ...

  9. 将三角形绕点b顺时针旋转90度_模型 | 图形旋转与翻折题型汇编

    一文搞定-文章推荐-点击阅读 初中数学必会的12个几何模型(222页Word) 2020年中考数学33个模型全梳理(125页Word) 2021中考18个必考几何模型大梳理(656页PPT) 中考模型 ...

最新文章

  1. HDU 1084 - What Is Your Grade?
  2. 如何对DB2数据库做性能分析?
  3. Matlab中的CVX工具包安装
  4. 湖南省普通招生2021高考成绩查询,湖南省2021八省联考成绩可查,附查询入口及往年分数线...
  5. python元素定位input button_python+selenium 定位到元素,无法点击的解决方法
  6. Android学习笔记(27):日历视图Calendar
  7. rnn神经网络模型_ICLR 2019 | 与胶囊网络异曲同工:Bengio等提出四元数循环神经网络...
  8. ASP.NET页面生命周期概述(转载)
  9. python如何保存图像_Python应用引擎:如何保存图像?
  10. 每日算法系列【LeetCode 719】找出第 k 小的距离对
  11. HCIE-Security Day9:5个实验理解NAT Server
  12. 服务器打不开网页dns错误是怎么回事,dns配置错误网页打不开
  13. 如何从excel中删除奇数行或偶数行
  14. HCIA-IoT 个人学习总结 Day2
  15. 全国区号省份mysql_中国各个省份的区号是多少
  16. 于娟视频:活着就是王道
  17. 大数据发展前景及就业方向【大数据专业讲座】
  18. c语言颜色代码渐变色,Arduino中LED灯实现256中颜色的渐变
  19. 传感器自学笔记第八章——DHT11温湿度传感器(附带自己写的很好用的51单片机DHT11代码模板,参数列表只有一个字符数组指针)
  20. 利用window.location实现下载文档

热门文章

  1. K2 BPM_北汽新能源业务流程管理信息系统建设思考_全球领先的工作流引擎
  2. KStar ----BPM应用框架,K2 的新星
  3. 迪士尼2016年压轴巨作---《海洋奇缘》观后感
  4. [Java]知乎下巴第4集:再把抓到篮子里的知乎塞到硬盘里吧
  5. LeetCode每日一题-495.提莫攻击
  6. PS避免图片多次放大或缩小造成的模糊问题?
  7. 数据标注:光鲜背后的付出
  8. mc9s08dz60添加BootLoader实现CANboot下载更新功能
  9. java 同步数据,同步数据到另一个库中。
  10. 音视频社交的应用和优势