介绍
你们中有些人可能听说过希尔伯特大酒店。那里的经理丢失了他的住所清单,但他仍然保留了他们的入住顺序。每个客人都不能住在房间号小于其房间值的房间中,并且如果客人被添加到较低的房间中房间,较高房间的所有客人之间都没有空的空间,新来的客人被转移到一个房间。您能帮他找到每位客人的住处吗?
要求
编写一个程序,该程序接收自然数的有序列表作为输入,并将其放在其索引处。如果该索引中已经有一个值,则将其上移到列表中的下一个条目。重复此过程,直到找到第一个空白(0或未定义)空间。当前最高索引与任何新输入之间的所有未定义空格都将加0。由于这是希尔伯特大酒店,因此不存在比当前最高入住指数更高的房间。
输入输出
输入将是自然数的有序列表(允许通过任何可接受的输入形式读取)输入中的
每个数均被视为一位到达酒店且按到达顺序排列的客人
输出将是客人的最终安排(人数)
例子
输入: 1 3 1
输出: 1 1 3
逐步:
1
在索引1处创建房间并将1放置在其中
1 0 3
在索引3处创建房间并将3放置在房间3中
1 1 3
向上移动房间1的内容一室一厅1输入: 1 4 3 1 2 1
输出:1 1 2 1 3 4
逐步:
1
在索引1处创建房间并将1放置在其中
1 0 0 4
在索引4处创建房间并将4放置在房间4
1 0 3 4
将3放在房间3
1 1 1 3 4
将房间1的内容上移一个房间并将1放在房间1
1 2 1 3 4
将房间2的内容上移到1并将一个房间2放在房间2
1 1 2 1 4
将房间1到5的内容上移一个房间并将1放在房间1中输入: 10
输出: 0 0 0 0 0 0 0 0 0 10
逐步:
0 0 0 0 0 0 0 0 0 10
创建房间直到10房间并将10放在房间10中。注意:
使用0索引是可以的,在这种情况下,您可以在输出的前面插入0
禁止标准漏洞,以字节为单位的最短代码获胜