比赛 |
20120224 |
评测结果 |
AAAAAAAAAW |
题目名称 |
课程安排问题 |
最终得分 |
90 |
用户昵称 |
王者自由 |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2012-02-24 19:38:59 |
显示代码纯文本
#include <cstdio>
#include <cstring>
int n, m, w;
bool v[10010], G[210][210], t;
int in[10010];
int main() {
freopen("curriculum.in", "r", stdin);
freopen("curriculum.out", "w", stdout);
scanf("%d", &n);
for(int i=1; i<=n; i++) {
scanf("%d", &m);
for(int j=1; j<=m; j++) {
scanf("%d", &w);
G[w][i] = true;
in[i]++;
}
}
for(int i=1; i<=n; i++)
v[i] = true;
for(int i=1; i<=n; i++) {
t = false;
for(int j=1; j<=n; j++)
if(!in[j] && v[j]) {
printf("%d ", j);
v[j] = false;
for(int k=1; k<=n; k++)
if(G[j][k]) {
G[j][k] = false;
in[k]--;
}
t = true;
break;
}
if(!t)
goto no;
}
goto end;
no:
printf("no");
end:
printf("\n");
return 0;
}