Pro.ID1515 Title农家乐 Title链接http://10.20.2.8/oj/exercise/problem?problem_id=1515 AC149 Submit533 Ratio27.95% 时间&空间限制描述农民John一家人在养奶牛的同时要做很多农活。在John的家里,有些农活必须在其他农活做完之后才能开始,例如,只有把牛赶进牛棚之后才能为牛洗澡。 John有N件农活要做 ( 3 ≤ N ≤ 10,000 )。每件农活需要一个整数的时间来完成( 1 ≤ 时间长度 ≤ 100 ),某些农活必须等到其他一些农活做完之后才能开始。我们称之为"前件"。至少有一件农活是没有前件的:最初的农活,编号为1。John已经把农活排列得很好:第K件( K > 1 )农活的前件只可能是1到K-1。编写一个程序,读入农活1至N的列表,每件农活都有其消耗的时间及其前件。请计算:完成所有N件农活所需的最短时间。当然啦,相互不依赖的农活可以同时进行。 输入输入的第一行是一个整数N。 第2行至第N+1行,每行是若干个空格分隔的整数。第2行表示第1件农活;第3行表示第2件农活,以此类推。 每行的第一个数是完成这件农活所需的时间,第二个数Pi表示这件农活的前件数,( 0 ≤ Pi ≤ 100 ),接着是Pi个前件的编号(它们的编号的范围是1到N)。 输出Description 农民John一家人在养奶牛的同时要做很多农活。在John的家里,有些农活必须在其他农活做完之后才能开始,例如,只有把牛赶进牛棚之后才能为牛洗澡。 John有N件农活要做 ( 3 ≤ N ≤ 10,000 )。每件农活需要一个整数的时间来完成( 1 ≤ 时间长度 ≤ 100 ),某些农活必须等到其他一些农活做完之后才能开始。我们称之为"前件"。至少有一件农活是没有前件的:最初的农活,编号为1。John已经把农活排列得很好:第K件( K > 1 )农活的前件只可能是1到K-1。编写一个程序,读入农活1至N的列表,每件农活都有其消耗的时间及其前件。请计算:完成所有N件农活所需的最短时间。当然啦,相互不依赖的农活可以同时进行。 Input 输入的第一行是一个整数N。 第2行至第N+1行,每行是若干个空格分隔的整数。第2行表示第1件农活;第3行表示第2件农活,以此类推。 每行的第一个数是完成这件农活所需的时间,第二个数Pi表示这件农活的前件数,( 0 ≤ Pi ≤ 100 ),接着是Pi个前件的编号(它们的编号的范围是1到N)。 Output 输出单独一行,完成所有农活所需的最少时间。 Sample Input 7 Sample Output 23 Hint 对输入的解释: 对答案的解释: Author 样例输入7 样例输出23 提示对输入的解释: 对答案的解释: 作者 |