-->
当前位置:首页 > 题库 > 正文内容

编程题:BFS

Luz3年前 (2022-09-05)题库736
小费边得到了一个由$$N$$块组成的一维拼图。他很快意识到每件作品都属于以下类型之一:

![图片1.png](~/ef622a86-c5c2-4256-bd30-0c61a1d10599.png)
此外,我们知道,在这$$N$$个部件中,有一个部件属于类型$$5$$或类型$$6$$(左边框),另一个部件属于类型$$7$$或类型$$8$$(右边框)。$$Fabian$$希望将所有的棋子排成一行,这样第一个(最左边的)棋子是$$5$$型或$$6$$型,最后一个(最右边的)棋子是$$7$$型或$$8$$型。当且仅当两块相邻的边缘形状不同时,两块可以相邻放置,即一块有凸起(也称为$$outie$$或$$tab$$),另一块有孔(也称为$$innie$$或$$blank$$)。

简单地解决这个难题对费边来说太容易了,所以他决定在每一块上写一个唯一的正整数。现在,他感兴趣的是寻找拼图游戏的最小词典解决方案。如果在第一个位置(从左到左)$$i$$处,答案$$A$$被认为比答案$$B$$小,而在第一个位置(从左到左)$$i$$处,答案$$A$$与答案$$B$$不同,则答案$$A$$认为$$A$$中第$$i$$个拼图上的数字小于$$B$$中第$$i$$个拼图上的数字。

注意:拼图不能旋转

### 输入格式:

第一行包含一个整数$$N(2≤N≤10^{5})$$,根据任务描述。
下一行包含两个整数$$X_{i}(1≤X_{i}≤8)$$和$$A_{i}(1≤A_{i}≤10^{9})$$代表第$$i$$件作品的类型和费边在上面写的数字。所有的$$A_{i}$$都会不同。

### 输出格式:

如果费边不能解决拼图游戏,你应该输出$$-1$$。
否则,您应该在拼图的字典最小解中输出写在拼图块上的数字。

### 得分:
在总共值$$5$$分的测试用例中,它将保持$$N≤4$$.
在价值额外$$5$$分的测试案例中,它将保持$$N≤10$$
在价值额外$$10$$分的测试用例中,类型$$2$$和类型$$3$$不会出现在输入中。
在价值额外$$20$$分的测试用例中,最多有一件$$1$$型或$$4$$型。
如果对于存在谜题解决方案的某个测试用例,您输出正确解决的谜题,但您的解决方案不是最小的,那么您将获得该测试用例预期分数的$$40$$%。


### 输入样例1:
in
5
1 5
2 7
2 3
8 4
6 1


### 输出样例1:
out
1 3 7 5 4


### 输入样例2:
in
3
5 1
7 2
4 3


### 输出样例2:
out
1 3 2


### 输入样例3:
in
5
2 5
2 7
2 3
8 4
6 1


### 输出样例3:
out
-1


### 对第一个例子的说明:
对于这个难题,只有两种可能的解决方案:

我们可以看到,第二个描述的解决方案在第二块上写了一个较小的数字。因此,这是词典学上最小的解决方案。






答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。