#P2625. [Neerc2009]Inspection
[Neerc2009]Inspection
题目描述
你负责一个团队来检查一个新的滑雪度假村。滑雪度假胜地坐落在几座山上,由许多坡道组成。
坡道之间相互连接,分叉和汇聚。滑雪度假村的地图可表示为一个无环有向图。
图的节点代表滑雪度假胜地中的不同点,图的边表示连通这些点的坡道,边的方向是向下的。
你的团队必须检查滑雪度假胜地的每一条坡道。这个度假村的滑道还没有开放,但是你们有一架直升飞机。
在一次飞行中,直升机可以把一个人投放到度假村的任何一个点上。从投放点出发,这个人可以滑下坡道,检查每个坡道。重复检查同一坡道是可以接受的,但你必须最小化直升机的使用。
因此,你必须弄清楚如何以最少的直升机飞行次数来检查所有的坡道。
简易题面
给张有向无环图,问至少多少条路径能够覆盖所有的边(可以重复)。
输入格式
输入文件的第一行包含一个整数 ,表示滑雪度假村中的点数。
接下来的 行描述滑雪度假村的每个点,编号从 到 。
每行以一个整数 开始(对于从 到 有 ),后跟 个用空格分隔的整数 。
对于每个 和每个 都是不同的,它们分别表示从点 到 的向下的坡度。每个度假村的点至少有一条与其相连的坡度。
输出格式
在输出文件的第一行写入一个整数 ,表示检查所有坡道所需的最小直升机飞行次数。
然后写入 行,描述每次直升机飞行的检查路线。每个路线应从 到 的单个整数开始,表示直升机飞行的投放点的编号,后跟按照检查的坡道相应的顺序访问的点编号。
每行上的数字应由空格分隔。您可以以任何顺序编写路线。
8
1 3
1 7
2 4 5
1 8
1 8
0
2 6 5
0
4
数据规模与约定
对于 的数据,,。
题目来源
Neerc2009