#P8066. [BalkanOI 2012] Fan Groups
[BalkanOI 2012] Fan Groups
题目背景
BOI 世界杯即将开始,有球迷们在城市中宣传他们支持的队伍。
题目描述
有 个城市广场(标记为 到 )和其中一些之间的 条单向街道,每个广场上初始有一群球迷(每个广场上的球迷支持不同球队)。
这 群球迷按照某个特定的顺序进行以下操作:
- 占领他们所在的广场(如在 广场的人会先占领 广场)。
- 从他们占领的某个广场 出发,走到与其相邻的每个广场 。如果广场 已经被人占领,他们会在边 上发生冲突,并不再在这个方向上前进;否则,他们会占领广场 ,并重复这一步,直到没有能到达的广场为止。
- 如果他们所在的广场在此前被别的人群占领,他们不会与那群人发生冲突。在这种情况下,他们什么都不做。
给定该城市,以及发生冲突的边集。求一种球迷的行动顺序,使得发生冲突的边集与输入相符。
输入格式
输入的第一行包含两个整数 ,表示点数和边数。
接下来 行,每行三个整数 ,表示有向边 ,如果 ,则这条边上发生了冲突。
输出格式
一个排列,球迷的行动顺序。
若无合法方案,输出 -1
。
8 9
1 4 1
1 8 1
2 3 0
5 6 0
6 5 0
7 4 1
6 4 0
7 1 1
4 5 0
8 5 6 2 3 1 7 4
提示
Special Judge 由 TOBapNw 提供,若 SPJ 有误,请联系他。
数据范围:
Subtask#0 为样例。
,,,。
样例解释:
号广场的球迷首先行动,占领广场 ;
接下来 号广场的球迷行动,占领广场 ;
接下来 号广场的球迷行动,因为广场 已经被占领,他们什么都不做;
接下来 号广场的球迷占领广场 ;
号广场的球迷什么都不做;
接下来 号广场的球迷行动,占领广场 ,并在边 上引发冲突;
号广场的球迷占领广场 ,并在边 上引发冲突;
注意合法的顺序可能不止一种,样例中, 也是一种合法的方案。
注意 不是合法的方案,因为按照这个方案, 上也会发生冲突,与输入不符。