华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1118|回复: 0
打印 上一主题 下一主题

P4924 [1007]魔法少女小Scarlet

[复制链接]

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
跳转到指定楼层
楼主
发表于 2020-2-28 09:29:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
https://www.luogu.com.cn/problem/P4924

题目描述
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个用空格隔开的数,表示最终所得的矩阵

输入输出样例
输入
5 4
2 2 1 0
3 3 1 1
4 4 1 0
3 3 2 1
输出
5 10 3 18 15
4 19 8 17 20
1 14 23 24 25
6 9 2 7 22
11 12 13 16 21
说明/提示
对于50%的数据,满足r=1
对于100%的数据1≤n,m≤500,满足1≤x−r≤x+r≤n,1≤y−r≤y+r≤n
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-12-26 13:00 , Processed in 0.095106 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表