100 #P1210. D01*【拓扑(难度:3)】大学选课

D01*【拓扑(难度:3)】大学选课

【题意】
NN 门课,编号 1N1 \dots N
有些课程是另外一些课程的先修课。
比如:高等代数是概率统计的先修课,表示学生先学习完高等代数才能学概率统计。
现在给出这 NN 门课之间的先修关系,求一种合法排课方案。
若有多组方案,输出字典序最小的解,若无解,输出”No answer.”

【输入格式】
多组数据。每组数据描述如下:
第一行输入一个整数 NN1N1001 \le N \le 100)。 
下来 NN 行,每行有一个整数 KK,后面接 KK 个整数 aia_i ,表示课程 ii 是课程 aia_i 的先修课。

【输出格式】
若有解,则输出一行 NN 个整数,每个整数以空格分开,表示字典序最小的解;
若无解,则输出一行“No answer.”

【样例输入】
4
2 4 3
3 1 3 4
0
1 3
3
1 2
1 1
2 1 2

【样例输出】
2 1 4 3
No answer.