Oj.Nbdp.Net
初赛题库
问题
状态
排名
团队
题解
课程
Login
问题 5821 --2.华容道(huarong)
5821: 2.华容道(huarong)
警告!
题目
状态
题解(7)
题目描述
小童是一个喜欢数字华容道的女生。 数字华容道游戏是一种最早的滑块类游戏,常见的类型有十五数字推盘游戏和八数字推盘游戏等。十五数字华容道游戏的板上会有十五个方块和一个大小相当于一个方块的空位(供方块移动之用)。而八数字华容道游戏,为九宫格布局,有八个方块和一个空位(如图1)。 ![](/upload/image/20220703/175740_27444.png) 图1 八数字推盘游戏的棋盘 在小童十岁生日的当天,小童的叔叔送给了她一块八数字华容道游戏作为生日礼物。 在送给小童之前,叔叔打乱了这块华容道,想要小童还原它。 聪明的小童当然立刻就还原了,并且还记下了还原的过程。 第二天上学的时候,小童告诉了你她还原的过程,想要学习信息学竞赛的你编写一个程序回答她,叔叔送她的华容道在小童开始还原之前是什么样的。 具体的,小童还原一共有 n 步,每一步可以用一个字符表示: 第i个字符如果是‘L’,则表示小童第i次是把空位左边的块移到了空位; 第i个字符如果是‘R’,则表示小童第i次是把空位右边的块移到了空位; 第i个字符如果是‘U’,则表示小童第i次是把空位上边的块移到了空位; 第i个字符如果是‘D’,则表示小童第i次是把空位下边的块移到了空位。 另外,小童是一个诚实的孩子,所以她告诉你的还原过程一定是合法的。
输入
第一行一个整数n,表示小童整个还原过程共 n 步。 第二行为一个长度为n的字符串S,第i个字符表示了小童第i步是怎么操作的 。
输出
三行三个整数,每行两个整数之间有一个空格,表示华容道一开始的样子,空位的位置用0填充。
样例输入输出
输入#1
复制
4 LURD
输出#1
复制
1 2 3 4 8 5 7 6 0
提示
我们可以通过小童的操作从后往前一步一步倒推出华容道一开始的样子,比如小童第i次操作是把空位下的块往上移倒过来倒推回去就相当于是空位往上移动了一格,然后原本在空位上面的格子里的数往下移。具体对于样例来说就是: ![](/upload/image/20220703/215445_91743.png) 【数据范围约定】 对于10% 的数据,n=0; 对于30% 的数据,n≤1; 另有30% 的数据,S中只含有‘L’和‘R’两种字符; 对于所有数据,0≤n≤50,S中只含有‘L’、‘R’、‘U’和‘D’四种字符。
发表题解
序号
标题
作者
发表时间
费用
订购数
操作
题目信息
提交
难度
普及-
标签
模拟
点击显示
if ($pr_flag) { ?>
递交数
323
已通过
187
} ;?>
通过率
58%
时间限制
1 秒
内存限制
128 MB
来源
2022绍兴小学
收藏
标签云
模拟
数学与数论
动态规划
贪心
字符串
排序
枚举
数组与串
深搜
高精度
循环结构
递推
递归
二分三分
宽搜
背包
质数
线段树
分治
N进制
图论
队列
最短路
堆
树
并查集
栈
状态压缩
分支结构
几何
博弈论
生成树
顺序结构
离散化
hash表
位运算
单调队列
树状数组
KMP
字典树
二分图
数学期望
AC自动机
树链剖分
差分约束
数位动态规划
函数与过程
网络流
单调栈
前缀和