d739. 最少路径覆盖
標籤 : 图论 圖論
通過比率 : 51人/55人 ( 93% ) [非即時]
評分方式:
Tolerant

最近更新 : 2011-04-06 17:40

內容

这题是一道关于图论的题目。

为了让大家容易理解题意,题目就没有什么背景啊、故事啊什么的。

就直接奔入主题吧!

有向无环图G(V,E)的一个路径覆盖是指一个路径集合P,满足图中的每点属于且仅属于集合中的一条路径。

由于出题者不知道如何上传图片,就用数字来解释吧。

考虑一个有5个顶点的有向无环图,有6条路径为

1->3

2->3

2->5

3->4

3->5

4->5

那么最少路径覆盖|P|min=2,

有三种方案:

A.{1->3->4->5, 2}

B.{2->3->4->5, 1}

C.{1->3->4, 2->5}

现在,聪明的你应该知道了你的任务就是:

给你一个有向无环图G=(V,E),求一个包含路径数最少的路径覆盖P。

輸入說明

输入测试数据有多笔。

每组测资的第一行是两个数n和m,分别代表有向无环图的节点数和接下来的信息数。

接下来m行,每行都是一对数x和y,表示存在一条路使得x可以不通过其他节点而直接到达y,即x->y。

当 x=y=0 时,代表输入结束,不必对这笔输入输出任何字符。

輸出說明
对于每组测资,输出这个有向无环图的最少路径覆盖数。
範例輸入 #1
5 6
1 3
2 3
2 5
3 4
3 5
4 5
0 0
範例輸出 #1
2
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (100%): 3.0s , <1M
提示 :

由于为了保证有向图无环且无重边,所以测资很难生。

所以测资保证有

1<=n<=100

0<=m<=n*(n+1)/2

且有向图中一定没有环,也没有重边。

但是还希望大家将程序写得有效率一点,让它可以过掉n=1000的测资吧!

这对大家一定是一个挑战!

標籤:
图论 圖論
出處:
[管理者: liouzhou_101 (王启圣) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」