uva 10305 Ordering Tasks
来源:互联网 发布:nba2017球员数据排名 编辑:程序博客网 时间:2024/06/05 00:26
题意:拓扑排序模版题~~~
AC代码:
#include <iostream>#include <cstdio>#include <queue>using namespace std;const int maxn = 105;int n,m;int edge[maxn][maxn];int in[maxn];int res[maxn];bool input(){scanf("%d%d",&n,&m);if(!n && !m) return false;int u,v;//for(int i = 1; i <= n; i++){in[i] = 0;for(int j = 1; j <= n; j++){edge[i][j] = 0;}}for(int i = 0; i < m; i++){scanf("%d%d",&u,&v);edge[u][v] = 1;in[v]++;}return true;}void topsort(){queue<int> q;int cnt = 0;for(int i = 1; i <= n; i++){if(in[i] == 0) q.push(i);}while(!q.empty()){int u = q.front(); q.pop();res[cnt++] = u; for(int i = 1; i <= n; i++){if(edge[u][i]){if(--in[i] == 0)q.push(i);}}}}void solve(){topsort();printf("%d",res[0]);for(int i = 1; i < n; i++){printf(" %d",res[i]);}puts("");}int main(){while(input()){solve();}return 0;}
0 0
- uva 10305 - Ordering Tasks
- uva 10305 - Ordering Tasks
- uva 10305 - Ordering Tasks
- UVa 10305 - Ordering Tasks
- uva-10305 - Ordering Tasks
- UVa 10305 - Ordering Tasks
- UVa 10305 - Ordering Tasks
- UVA 10305 Ordering Tasks
- UVa 10305Ordering Tasks
- Uva 10305 - Ordering Tasks
- uva 10305Ordering Tasks
- uva 10305 - Ordering Tasks
- uva 10305 Ordering Tasks
- UVa 10305 - Ordering Tasks
- UVA 10305 - Ordering Tasks
- Ordering Tasks UVA 10305
- UVA - 10305 Ordering Tasks
- UVA - 10305 Ordering Tasks
- 快速排序
- 第三周项目五:数组作数据成员(三)
- 心情
- 数据库SQL语句之Table的基本练习
- Linux系统关机命令shutdown
- uva 10305 Ordering Tasks
- 实例区分nginx location中rewrite的break与last
- 【Linux内核数据结构】最为经典的链表list
- 【Android】【FAQ】解决windows7 64bit系统下部署android开发环境使用Android SDK Manager的failed to fetch问题
- CSS笔记-----常见样代码
- 如何用div+css布局页面
- C语言中的volatile
- NIO解读之ServerSocketChannel
- 快速学习法:一年搞定MIT计算机课程