求助站外题
  • 板块学术版
  • 楼主JXkcy
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/8/14 19:26
  • 上次更新2023/11/3 03:48:16
查看原帖
求助站外题
779523
JXkcy楼主2023/8/14 19:26

众所周知,合成大西瓜是一款非常好玩的游戏,小A很喜欢这个游戏,他想要随时随地都玩这个游戏,可以请你帮帮他吗?

在这道题目中,我们将游戏进行了化简,规则如下:

1:游戏的场景是一个宽度为10,高度为20的矩形,最左边的列编号最小。每一个西瓜是一个1*1的正方形。

2:每次西瓜会从最上方出现,竖直下落。

3:西瓜和西瓜、西瓜和墙壁之间都不会发生任何反弹。

4:西瓜会和它上下左右相邻的西瓜尝试合成为一个大西瓜:只有当两个西瓜等级一样时才能合成,合成得到的大西瓜等级为原来的等级+1,出现在两个西瓜之中靠左的那个位置或靠下的那个位置。

5:在一个时刻可能会有多个西瓜可以合成,你应该按照这样的规则处理这些西瓜:竖着的两个西瓜优先于横着的两个西瓜。先处理最靠左的西瓜,当有若干最靠左的西瓜时,优先处理最靠下的西瓜。

输入格式

首先输入n表示一共会出现的西瓜个数。

接下来n行, 每行两个整数h, l。h表示这个西瓜出现在第h列的上方, l表示这个西瓜的等级。

输出格式

输出20行,每行10个数字表示这个位置的西瓜等级,0表示这个位置没有西瓜。

温馨提示:你最先输出的行应该是位置最高的行。

样例输入

5

2 1

1 3

7 1

7 3

8 1

样例输出

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 3 0 0 0

3 1 0 0 0 0 2 0 0 0

数据范围及约定 对于100%的数据,保证n⩽500, l⩽5。

保证在每次出现新的西瓜必然可以下落(不会卡在地图外)

2023/8/14 19:26
加载中...