luogu#P6676. 【征集 SPJ】[COCI2019-2020#2] Slagalica

【征集 SPJ】[COCI2019-2020#2] Slagalica

题目背景

本题征集 SPJ。但若您写的是正解,即,输出了字典序最小解,仍可获得 AC 的评测结果。

小斌喜欢玩拼图。

题目描述

小斌得到了一个由 nn 个部分组成的一维拼图游戏。他很快意识到每块拼图都属于以下类型之一:

另外,已知在这 nn 片拼图中,恰好有一个 55 号拼图或 66 号拼图(左边框)和一个 77 号拼图或 88 号拼图(右边框)。

小斌希望将所有块排列成一行,以使第一个(最左边的)拼图类型为 55 号拼图或 66 号拼图,而最后一个(最右边的)拼图类型为 77 号拼图或 88 号拼图。如果有两块拼图,则可以彼此相邻放置,并且仅当它们的相邻边框的形状不同时,即一个边框具有凹凸,而另一个边框具有一个凸出才可以相邻放置。

对于小斌来说,这个问题太简单了,因此他决定在每个部分上写一个唯一的正整数。现在,他想要寻找出字典序最小的方案。

注意:拼图不能旋转!

输入格式

输入数据共 n+1n + 1 行。

第一行,一个正整数 nn

接下来,nn 行,包含两个整数 xix_iaia_i,它们表示 ii 的类型,xix_i 拼图编号,aia_i 表示 Fabian 在上面写的数字。数据保证所有 aia_i 不重复。

输出格式

输出数据共一行。

第一行,如果小斌无法解决拼图游戏,输出 -1。 否则,您应该输出拼图上数字按字典序排列最小的方案。

5
1 5
2 7
2 3
8 4
6 1

1 3 7 5 4
3
5 1
7 2
4 3

1 3 2
5
2 5
2 7
2 3
8 4
6 1

-1

提示

样例 #1 解释

只有 22 种解法,如下:

可以看出,第二种解法的字典序较小,所以输出 1 3 7 5 4

数据规模及约定

对于 100%100\% 的数据,$2 \le n \le 10^5, 1 \le x_i \le 8, 1 \le a_i \le 10^9$。

没有给出字典序最小解而只构造一组解可以得到 40%40\% 的分数。

说明

本题分值按 COCI 原题设置,满分 7070

题目译自 COCI2019-2020 CONTEST #2 T2 Slagalica