【题目链接】

ybt 1127:图像旋转
OpenJudge NOI 1.8 11:图像旋转

【题目考点】

1. 二维数组

【解题思路】

以下分析中,行列从1开始数。该二维矩阵有n行m列,行号为1~n,列号为1~m。

解法1:构建新矩阵

顺时针旋转90度,即第1行变成倒数第1列,第2行变成倒数第2列。。。最后一行变成第1列。
各行列中,变化前一行中从左至右各个元素对应变化后一列中从上至下各个元素。
第i行的元素变化后会在倒数第i列。n行m列的矩阵旋转后有m行n列,倒数第i列为第n-i+1列。第j列的元素变化后会在第j行。
因此,第i行第j列的元素变化后会在第j行第n-i+1列。有:b[j][n-i+1] = a[i][j];

解法2:遍历原矩阵

新矩阵各行从小到大,为原矩阵各列从小到大,外层循环j从1到m。
新矩阵各列从小到大,为原矩阵各行从大到小,内层循环i从n到1。

【题解代码】

解法1:构建新矩阵

#include<bits/stdc++.h>
using namespace std;
#define N 105
int main()
{int n, m, a[N][N], b[N][N];cin >> n >> m;for(int i = 1; i <= n; ++i)for(int j = 1; j <= m; ++j)cin >> a[i][j];for(int i = 1; i <= n; ++i)//遍历原矩阵a,n行m列for(int j = 1; j <= m; ++j)b[j][n - i + 1] = a[i][j];for(int i = 1; i <= m; ++i)//遍历矩阵b,m行n列{for(int j = 1; j <= n; ++j)cout << b[i][j] << ' ';cout << endl;}return 0;
}

解法2:遍历原矩阵

#include<bits/stdc++.h>
using namespace std;
#define N 105
int main()
{int n, m, a[N][N], b[N][N];cin >> n >> m;for(int i = 1; i <= n; ++i)for(int j = 1; j <= m; ++j)cin >> a[i][j];for(int j = 1; j <= m; ++j)//遍历矩阵b,m行n列{for(int i = n; i >= 1; --i)cout << a[i][j] << ' ';cout << endl;}return 0;
}

信息学奥赛一本通 1127:图像旋转 | OpenJudge NOI 1.8 11:图像旋转相关推荐

  1. 信息学奥赛一本通 1190:上台阶 | OpenJudge NOI 2.3 3525:上台阶

    [题目链接] ybt 1190:上台阶 OpenJudge NOI 2.3 3525:上台阶 注:ybt 1190最大数据数量为71,而OpenJudge 2.3 3525中最大数据数量为100.如果 ...

  2. 信息学奥赛一本通 1225:金银岛 | OpenJudge NOI 4.6 1797:金银岛

    [题目链接] ybt 1225:金银岛 OpenJudge NOI 4.6 1797:金银岛 [题目考点] 1. 贪心 2. 部分背包问题 [解题思路] 该题为部分背包问题 1. 贪心选择性质的证明: ...

  3. 信息学奥赛一本通 1226:装箱问题 | OpenJudge NOI 4.6 19:装箱问题

    [题目链接] ybt 1226:装箱问题 OpenJudge NOI 4.6 19:装箱问题 [题目考点] 1. 贪心 [解题思路] 该题说是三维立方体,实际上无论是包裹还是产品,高度都是h,因而不用 ...

  4. 信息学奥赛一本通 1216:红与黑 / OpenJudge NOI 2.5 1818

    [题目链接] ybt 1216:红与黑 OpenJudge NOI 2.5 1818:红与黑 [题目考点] 1. 连通块问题 2. 深搜/广搜 [解题思路] 1. 深搜 从第一个格子出发,遍历所有可以 ...

  5. 信息学奥赛一本通 1115:直方图 | OpenJudge NOI 1.9 09

    [题目链接] ybt 1115:直方图 OpenJudge NOI 1.9 09:直方图 [题目考点] 1. 散列存储 也叫哈希存储.其思想为:将要存储的值通过某种算法映射到存储地址,映射算法为散列函 ...

  6. 信息学奥赛一本通 1114:白细胞计数 | OpenJudge NOI 1.9 08

    [题目链接] ybt 1114:白细胞计数 OpenJudge NOI 1.9 08:白细胞计数 [题目考点] 1. 求数组中最大值及其下标 方法1:保存最大值和下标 设置临时最大值变量mx,mx的初 ...

  7. 信息学奥赛一本通 1109:开关灯 | OpenJudge NOI 1.5 31:开关灯

    [题目链接] ybt 1109:开关灯 OpenJudge NOI 1.5 31:开关灯 [题目考点] 1. 模拟 2. 循环.数组 3. 用逗号分隔输出 设标志位:isFirst,表示现在输出的是否 ...

  8. 信息学奥赛一本通 1073:救援 | OpenJudge NOI 1.5 19:救援

    [题目链接] ybt 1073:救援 OpenJudge NOI 1.5 19:救援 [题目考点] 1. 直角坐标系下某点到原点的距离 点(x,y)(x,y)(x,y)到原点的距离d=x2+y2d = ...

  9. 信息学奥赛一本通 1070:人口增长 | OpenJudge NOI 1.5 14:人口增长问题

    [题目链接] ybt 1070:人口增长 OpenJudge NOI 1.5 14:人口增长问题 [题目考点] 1. 循环求幂 设变量r初始值为1:int r = 1; 循环n次每次循环中输入变量a, ...

最新文章

  1. BciPy: 一款基于Python用于BCI研究的开源软件
  2. 这8种经常被忽视的SQL错误用法,你踩过几个?
  3. 【译】The challenge of verification and testing of machine learning
  4. Hibernate持久化对象的三种状态深入理解
  5. Android:Android SDK的下载与安装
  6. 方正伪GBK(字体名称中有GBK且字数不足21003)字体列表及使用注意事项
  7. 购买计算机键盘,键盘安装步骤是怎样的 怎样选购电脑键盘
  8. 重置计算机的本地策略,Win10怎样重置组策略/安全策略|Win10重置组策略/安全策略教程...
  9. html下拉菜单的写法
  10. iphone计算机设置,苹果手机怎么设置其他铃声
  11. ipad云计算机,过气iPad2还能这么玩!用云电脑玩PC云游戏
  12. Instagram后端架构
  13. 面试准备:逻辑智力题
  14. html页面中如何添加背景音乐
  15. 众筹系统源码 java_基于JavaWeb的创意众筹网站系统的设计与实现 毕业论文+任务书+开题报告+外文翻译+设计源码+mysql文件...
  16. 2022化工自动化控制仪表特种作业证考试题库及答案
  17. Java实战手写区块链中的Merkle树
  18. 邓应海:美联储缩表预期升温黄金下挫!最新黄金走势分析
  19. IOS越狱设备关机重启之后发现SSH连接不上解决方法
  20. PCF应用挂载文件服务器

热门文章

  1. (转)如何压缩SQL Server 2005指定数据库文件和日志的大小?
  2. 代码覆盖度-NCover监控IIS和exe,结果分析
  3. 什么是机器学习?有哪些应用?终于有人讲明白了
  4. python提取视频帧并保存_python tools实现视频的每一帧提取并保存
  5. windows虚拟机_iOS 版虚拟机:在 iPhone 上运行 Windows 系统
  6. 2万字详解,彻底讲透 全文搜索引擎 Elasticsearch
  7. 这样写代码,真是帅到没有朋友
  8. Spring 框架基础(05):事务管理机制,和实现方式
  9. Linux多线程实践(5) --Posix信号量与互斥量解决生产者消费者问题
  10. Linux IPC实践(3) --具名FIFO