假设一个试题库中有 n 道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取 m 道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算法。
第1行有2个正整数n和k (2 <= k <= 20, k <= n <= 1000) k 表示题库中试题类型总数,n 表示题库中试题总数。第 2 行有 k 个正整数,第 i 个正整数表示要选出的类型 i 的题数。这 k 个数相加就是要选出的总题数 m。接下来的 n 行给出了题库中每个试题的类型信息。每行的第 1 个正整数 p 表明该题可以属于 p 类,接着的 p 个数是该题所属的类型号。
文件第 i 行输出“i:”后接类型 i 的题号。如果有多个满足要求的方案,只要输出 1 个方案。如果问题无解,则输出“No Solution!”。
3 15 3 3 4 2 1 2 1 3 1 3 1 3 1 3 3 1 2 3 2 2 3 2 1 3 1 2 1 2 2 1 2 2 1 3 2 1 2 1 1 3 1 2 3
1: 1 6 8 2: 7 9 10 3: 2 3 4 5
由于spj问题,将数据改为了判定能否找到组卷方式。 将每道题目作为X集合中的点,每个类别作为Y集合中的点。 1.从S向Xi连一条容量为1的边。 2.从Yi向T连一条容量为该类别所需题数的边。 3.若试题i属于类别j,Xi向Yj连一条容量为1的边。 最大流等于需要的总题目数既可以,满流边
新闻热点
疑难解答