拓扑排序模版--hdu 1285 确定比赛名次
2013-02-26 10:52
232 查看
#include <stdio.h> #include <string.h> int count,n,degree[505],map[505][505],vis[505],res[505]; void topo(int x) { res[count] = x; count++; int i; for(i = 1;i <= n;i++) { if(map[x][i] && !vis[i]) degree[i]--; } } int main() { int a,b,m,i; while(~scanf("%d %d",&n,&m)) { memset(map,0,sizeof(map)); memset(degree,0,sizeof(degree)); memset(vis,0,sizeof(vis)); for(i = 0;i < m;i++) { scanf("%d %d",&a,&b); if(map[a][b] == 0) { map[a][b] = 1; degree[b]++; } } count = 0; while(count < n) { for(i = 1;i <= n;i++) { if(!vis[i] && !degree[i]) { topo(i); vis[i] = 1; break; } } } for(i = 0;i < n-1;i++) printf("%d ",res[i]); printf("%d\n",res[i]); } return 0; }
相关文章推荐
- hdu 1285 确定比赛名次(拓扑排序)
- 确定比赛名次 HDU - 1285 (拓扑排序)
- HDU 1285 确定比赛名次(拓扑排序)
- 【拓扑排序】HDU 1285——确定比赛名次
- hdu 1285 确定比赛名次 //简单拓扑排序
- HDU 1285 确定比赛名次——拓扑排序
- hdu 1285 确定比赛名次(图论:拓扑排序)
- [HDU] 1285 确定比赛名次(拓扑排序)
- HDU 1285:确定比赛名次 【拓扑排序】
- hdu 1285 确定比赛名次 (拓扑排序)
- HDU 1285 确定比赛名次【拓扑排序入门题,链式前向星建图】
- hdu 1285 确定比赛名次(拓扑排序)
- HDU:1285 确定比赛名次(拓扑排序)
- 【拓扑排序】HDU 1285--- 确定比赛名次
- hdu 1285 确定比赛名次 拓扑排序
- hdu 1285 确定比赛名次(拓扑排序)
- HDU-1285 确定比赛名次 拓扑排序
- HDU 1285 确定比赛名次 拓扑排序
- 拓扑排序 HDU 1285 确定比赛名次
- hdu 1285 确定比赛名次(拓扑排序)