比赛 20120224 评测结果 AAAAAAAWWT
题目名称 课程安排问题 最终得分 70
用户昵称 TBK 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-02-24 19:21:38
显示代码纯文本
#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(void)
{
	for (c=1;c<=b;c++) 
		if (r[c]==0) 
		{
			printf("%d ",c);
			t++;
			r[c]--;
			chuli(c);
		}
}
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]++;
		}
	}
	for (c=1;c<=b;c++) k[c]=r[c];
	while (t!=b) find();
	fclose(stdin);
	fclose(stdout);
	return 0;
}