我*的实在不会了,大佬教教我!
inthisT8
小蓝在玩 2048 游戏。
本题可能需要游戏的支撑。因为本人语文能力不怎么样,所以建议先玩此游戏。网址:https://ak-ioi.com/apps/oi-2048;但是请注意本题和游戏稍有不同。
小蓝沉迷在 2048 中。他突然想出了一道毒瘤模拟题,但是自己不会做,所以找到了你。
小蓝在 2n×2n 的矩阵中玩 2048。初始矩阵上有 n 个数字,其他都是 0(代表空格)。小蓝一共会进行 q 次操作,每次操作如下:
ai bi ci di
意义为:
首先进行 ai 的移动操作:
^,那么向上移动,首先把所有数字都向上移动,如果上下有可以合成的(相同的),那么合成数值为两倍的方块,然后继续上移,直到无法合成。<,那么向左移动(同理);如果 ai 为>,那么向右移动(同理);如果 ai 为v,那么向下移动(同理)。接着进行:
如果第 bi 行第 ci 列没有方块(为 0),那么再这个地方放上一个值为 di 的方块。
小蓝想让你求出,最终游戏界面的值(中间可能有死局,但是你必须按照正常方式输出结果)。
第一行两个整数 n,q。
接下来 2n 行,每行 2n 个整数表示游戏界面。
接下来 q 行,每行四个整数 ai,bi,ci,di。
共输出 2n 行,每行 2n 个整数,表示游戏界面最终的结果。
1 3
0 2
0 0
^ 1 1 2
> 2 2 4
v 2 2 2
0 0
0 8
【样例解释】
变化过程如下:
step 0
0 2
0 0
step 1
2 2
0 0
step 2
0 4
0 4
step 3
0 0
0 8
【数据范围】
记原始矩阵中最大值为 k。
对于 100% 的数据,1≤n≤5,0≤q≤50,1≤k≤8,1≤bi,ci≤2n,1≤di≤210 而且满足 ai 是^v<>中的一个。