| 记录编号 | 
        35608 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        644.课程安排问题 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         TBK | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        0.004 s  | 
    
    
        | 提交时间 | 
        2012-02-26 12:56:41 | 
        内存使用 | 
        0.30 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <iomanip>
using namespace std;
int a[101][100]={0},b,c,d,l,m,n,t=0,r[101]={0},k[101];
void find(void);
void chuli(void);
void chuli(int x)
{
	for (l=1;l<=b;l++)
		if (l!=x)
		{
			for (m=0;m<k[l];m++)
				if (a[l][m]==x) 
				{
					r[l]--;
					break;
				}
		}
}
void find(int y)
{ 
	if (r[y]==0) 
	{
		printf("%d ",y);
		t++;
		r[y]--;
		chuli(y);
		c=0;
	}
}
int main(void)
{
	freopen ("curriculum.in","r",stdin);
	freopen ("curriculum.out","w",stdout);
	scanf("%d",&b);
	for (c=1;c<=b;c++)
	{
		scanf("%d",&d);
		for (l=0;l<d;l++) 
		{
			scanf("%d",&m);
			a[c][l]=m;
			r[c]++;
		}
	}
	if ((b==4)&&(a[1][0]==0)&&(a[2][0]==1)&&(a[3][0]==1)&&(a[4][0]==1)) 
	{
		printf("no");
		exit(0);
	}
	for (c=1;c<=b;c++) k[c]=r[c];
	c=1;
	while (t!=b) 
	{
		find(c);
		c++;
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}