魔法少女小Scarlet

news/2024/11/8 17:32:37/

**

魔法少女小Scarlet

**

题目

    • 魔法少女小Scarlet
  • 题目描述
  • 输入格式
  • 输出格式
  • 输入输出样例
    • 思路
      • 代码

题目描述

Scarlet 最近学会了一个数组魔法,她会在 n×n 二维数组上将一个奇数阶方阵按照顺时针或者逆时针旋转 90° 。
首先,Scarlet 会把 1 到 n^2的正整数按照从左往右,从上至下的顺序填入初始的二维数组中,然后她会施放一些简易的魔法。
Scarlet 既不会什么分块特技,也不会什么 Splay 套 Splay,她现在提供给你她的魔法执行顺序,想让你来告诉她魔法按次执行完毕后的二维数组。

输入格式

第一行两个整数 n,m表示方阵大小和魔法施放次数。
接下来 m 行,每行 4 个整数 x,y,r,z,表示在这次魔法中,Scarlet 会把以第 x 行第 y 列为中心的 2r+1 阶矩阵按照某种时针方向旋转,其中 z=0 表示顺时针,z=1 表示逆时针。

输出格式

输出 n 行,每行 n 个用空格隔开的数,表示最终所得的矩阵

输入输出样例

在这里插入图片描述

思路

先把转化好的数组传入到另一个数组中,再将数组的内容传回到适当的位置,利用循环实现多次旋转,最后的得到结果。

代码

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int a[1000][1000];
int b[1000][1000];
void chuangershuzu(int p)//创建一个1到n^2的二维数组
{int i = 0;int j = 0;int k = 0;for (i = 0; i <p; i++){for (j = 0; j < p; j++){a[i][j] = ++k;}}}
void xuanzhuanshuzu(int x,int y,int r,int z)
{if (z == 0)//顺时针{for (int i = 0; i <= 2 * r; i++){for (int j = 0; j <= 2 * r; j++){b[i][j] = a[x + r - 1 - j][y - r - 1 + i];//x+r-1是应该旋转的最后一行,y-r-1是第一列,这样就可以找到左下角的数,然后把每一列分别旋转到行的位置,就实现了顺时针旋转}}for (int i = 0; i <= 2 * r; i++)//减一是因为数组有第0行,而现实说的时候没有{for (int j = 0; j <= 2 * r; j++){a[x - r - 1 + i][y - r - 1 + j] = b[i][j];//将b数组传回去}}}else if(z==1)//逆时针{for (int i = 0; i <= 2 * r; i++){for (int j = 0; j <= 2 * r; j++)//参考顺时针旋转{b[i][j] = a[x - r - 1 + j][y + r - 1 - i];}}for (int i = 0; i <= 2 * r; i++){for (int j = 0; j <= 2 * r; j++){a[x - r - 1 + i][y - r - 1 + j] = b[i][j];}}}
}
int main()
{int n = 0;int m = 0;scanf("%d %d", &n, &m);getchar();int i = 0;int j = 0;int x = 0; int y = 0; int r = 0; int z = 0;chuangershuzu(n);//创建二维数组for (i = 0; i < m; i++){scanf("%d %d %d %d", &x, &y, &r, &z);xuanzhuanshuzu(x,y,r,z);//旋转数组}for (i = 0; i <n; i++)//输出{for (j = 0; j < n; j++){printf("%d ",a[i][j]);}printf("\n");}return 0;
}

http://www.ppmy.cn/news/276036.html

相关文章

国内原创精品《萝莉的远征》(ADV+RPG )

原帖&#xff1a;http://3dmgame.chnren.com/bbs/showtopic-604395.html 这个是标题&#xff0c;因为去年开始做的时候就采用了这张图做标题&#xff0c;所以最终版也没有更换&#xff0c;只是修饰了一下呵呵。游戏名称&#xff1a;萝莉的远征RPG1ST银色幻境版本信息&#xff…

蔷薇变成玫瑰

你总希望我为你改变&#xff0c;从蔷薇变成玫瑰&#xff0c;可问题是&#xff0c;爱着你的是蔷薇&#xff0c;待我变成了玫瑰&#xff0c;还会爱着你吗?

[转]青涩的少女心结

秋张曾经是哈利迷俱乐部里人气最高的角色之一。从三年级时初见秋张时&#xff0c;哈利就对她有莫名的好感。上场比赛前&#xff0c;作为对方找球手的秋只是对哈利微微一笑&#xff0c;哈利的心就一阵狂跳。这种好感在四年级的时候升级&#xff0c;哈利总是默默关注秋张&#xf…

[1007]魔法少女小Scarlet

文章目录 [1007]魔法少女小Scarlet题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 题解代码&#xff1a; [1007]魔法少女小Scarlet 题目描述 Scarlet 最近学会了一个数组魔法&#xff0c;她会在 n n n\times n nn 二维数组上将一个奇数阶方阵按照顺时针或者逆…

“她经济”时代,兜售少女心的乙女游戏将成新风口?

近日&#xff0c;一款名为《恋与制作人》的手机游戏俘获了不少的少女心&#xff0c;《恋与制作人》是一款超现实恋爱经营的手机游戏&#xff0c;玩家通过游戏操作可以窥视游戏中女主与四个不同背景和身份的男主相遇&#xff0c;并通过付费的方式解锁游戏中的隐藏剧情来满足玩家…

少女前线一直显示连接服务器,少女前线连接失败怎么办 少女前线无法登陆解决方法...

少女前线连接失败怎么办&#xff1f;少女前线无法登陆是怎么回事&#xff1f;小编为大家带来少女前线无法登陆解决方法&#xff0c;希望对正在玩少女前线的小伙伴们有所帮助。 少女前线连接失败问题&#xff1a; 游戏有时候会显示&#xff1a;连接失败&#xff01;请重新登录&a…

【LOJ6363】「地底蔷薇」

【题目链接】 点击打开链接 【思路要点】 记 i i i 个点任意图个数 a b t i abt_i abti​ 的指数型生成函数为 A b t ( x ) Abt(x) Abt(x) &#xff0c;连通图个数 c o n i con_i coni​ 的指数型生成函数为 C o n ( x ) Con(x) Con(x) &#xff0c;有根连通图个数 c o n…

皇后游戏

D.皇后游戏 Time Limit: 1000 MSMemory Limit: 262144 K Total Submit: 236 (64 users)Total Accepted: 41 (38 users)Special Judge: NoDescription 恰逢 H 国国庆&#xff0c;皇后邀请 位大臣来玩一个有奖游戏。首先&#xff0c;她让每个大臣在左、右手上面分别写下一个整数…