【GDOI2013模拟2】排列

Description
给你M个对1到N的排列的特征,特征有两种:

1 x y v:排列的第x个数到第y个数之间的最大值为v

2 x y v:排列的第x个数到第y个数之间的最小值为v

要求你还原出这个排列。

Input
第一行输入两个整数N(1<=N<=200),M(0<=M<=40,000),N表示排列的数字个数,M表示特征数量。

接下来M行,每行描述一个特征。

Output
输出一行,满足所有特征的1到N的一个排列。方案可能有很多,输出其中一个即可。如果无解,输出-1。

Sample Input
输入1:

3 2

1 1 1 1

2 2 2 2

输入2:

4 2

1 1 1 1

2 3 4 1

输入3:

5 2

1 2 3 3

2 4 5 4

Sample Output
输出1:

1 2 3

输出2:

-1

输出3:

1 2 3 4 5

Data Constraint
100%的数据满足 N(1<=N<=200),M(0<=M<=40,000)

一一对应匹配,就是二分图匹配,每个位置向能选的数连边

Code

posted @ 2021-05-04 19:48  RiverSheep  阅读(49)  评论(0编辑  收藏  举报