HDU 1761(模拟题,字典树)

来源:互联网 发布:数据质量管控管理办法 编辑:程序博客网 时间:2024/05/20 16:10

Spring-outing Decision(2)

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 164    Accepted Submission(s): 39

Problem Description
历经千辛万苦,ACgirl 终于定好了时间,在那一天,她们班全班的人都有时间去春游。
正当 ACgirl 以为春游的安排就这样搞定的时候,又出现了一个新的问题。
原来,她们班的同学并不是很和睦,而是分裂成一个个小团体。

对每个人来说,都有喜欢和讨厌的人。当有他喜欢的人去春游时,他就会跟着他一起去。反之,当有他讨厌的人去春游时,他则不会去春游。而去春游的人当中既有他喜欢的人又有他讨厌的人 或者 既没他喜欢的人也没他讨厌的人的时候,他就会保持自己最近的决定。

现在,身为辅导员的 ACgirl 正在统计人数。她按下面这样的方法统计人数。刚开始,她有一张初始的名单,这张名单里记录着一开始就要去春游的人。然后,她拿出一张白纸,把上次的要去春游人的名单给每个同学看,并且记录下现在要去春游的人。她重复该步骤 M 次。

现在 ACgirl 又需要你帮忙了,她想知道她做了这M次询问以后,最后去春游的都有谁。
 

 

Input
本题目包含多组测试,请处理到文件结束。
每组测试第一行包含两个正整数N和M(N,M<=100)。其中N表示ACgirl班里一共有多少人,M表示ACgirl一共做了多少次询问。
接下来给出这N个学生的信息。
每个学生的信息的第一行是这个学生的名字(长度不大于20,均由小写字母构成)。
第二行刚开始有一个正整数 P (P < N) ,表示这个学生有多少个喜欢的人,这一行接下来有 P 个名字,表示他所喜欢的人。
第三行刚开始有一个正整数 Q (Q < N),表示这个学生有多少个讨厌的人,这一行接下来有 Q 个名字,表示他讨厌的人。
在每个测试的最后一行,会给出初始决定去春游的名单。
同样,先有一个正整数 R ( R < N ) , 表示初始要去的人数,接下来给出这 R 个人的姓名。

输入数据保证,同一个班里不会出现两个名字相同的人,一个人也不会既喜欢,又恨一个人,当然,他也不会喜欢或讨厌自己。同样,在初始名单里,不会出现两个重复的名字。
 

 

Output
对于每组测试,请在一行里面请按字典序输出经过 M 次询问,最后决定要去春游的人的名字。
两个名字之间用一个空格分开。
如果最后没有一个人去春游,请输出"None"(不带引号)。
 

 

Sample Input
4 1a1 b1 cb1 a1 cc1 a1 dd1 b1 a2 a d
 

 

Sample Output
a b

原创粉丝点击