题目链接
数据量不大,直接开模拟即可。
此题恶心的地方就是题意理解与下标模拟。
首先,按要求初始化一个二维数组并填充 [ 1 , n 2 ] [1,n^{2}] [1,n2]。
然后,分别进行每一次旋转。 旋转到底是什么意思? 其实就是矩阵转置,一个大家入门编程都写过的一个题。 如果不明白的话可以自己画画图,其实围绕中心旋转的话,和转置真的一样。 本题与转置不同的地方在于:在顺时针转和逆时针转两种情况、小范围旋转而外部不变。
所以可以暴力开一个和原数组等大的二维数组,用于把需要处理的范围的元素做备份,然后按要求覆盖原数组即可。
顺时针的公式是: g r a p h [ x + k ] [ y − j ] = t e m p [ x + j ] [ y + k ] graph[x+k][y-j] = temp[x+j][y+k] graph[x+k][y−j]=temp[x+j][y+k] 逆时针的公式是: g r a p h [ x − k ] [ y + j ] = t e m p [ x + j ] [ y + k ] graph[x-k][y+j] = temp[x+j][y+k] graph[x−k][y+j]=temp[x+j][y+k]
AC代码#include
using namespace std;
int graph[521][521], temp[521][521];
int main() {
int n, m, x, y, r, z;
cin >> n >> m;
// 初始化
for(int i = 0, j, k = 1; i > y >> r >> z;
x--;
y--;
// 暂存
for (int j = -r; j
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?