sgu230:Weighings(拓扑)
来源:互联网 发布:java代码换行 编辑:程序博客网 时间:2024/06/06 13:19
题目大意:
分析:
AC code:
#include <cstdio>#include <cstring>#define ONLINE_JUDGEusing namespace std;const int MAXN = 109, MAXM = 10009;int n, m;struct Dgraph{ int size; int head[MAXN]; int to[MAXM]; int ne[MAXM]; Dgraph(){size = 1;} void add_edge(int u, int v) { to[size] = v, ne[size] = head[u], head[u] = size++; }}G;int q[MAXN], l, r;int in[MAXN];int ans[MAXN], tot;int main(){ #ifndef ONLINE_JUDGE freopen("sgu230.in", "r", stdin); freopen("sgu230.out", "w", stdout); #endif scanf("%d%d", &n, &m); for(int i = 1; i <= m; ++i) { int u, v; scanf("%d%d", &u, &v); G.add_edge(u, v), in[v]++; } for(int i = 1; i <= n; ++i) if(!in[i]) q[++r] = i; while(l < r) { int u = q[++l]; ans[u] = l; for(int i = G.head[u]; i; i = G.ne[i]) { int v = G.to[i];in[v]--; if(!in[v]) q[++r] = v; } } if(r < n) puts("No solution"); else { printf("%d", ans[1]); for(int i = 2; i <= n; ++i) printf(" %d", ans[i]); puts(""); } #ifndef ONLINE_JUDGE fclose(stdin); fclose(stdout); #endif return 0;}
0 0
- sgu230:Weighings(拓扑)
- sgu230(拓扑排序) 231
- sgu-230 Weighings
- 拓扑
- 拓扑
- 拓扑
- 拓扑
- 拓扑排序
- 网络拓扑
- 拓扑结构图
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑排序
- 拓扑序列
- 拓扑排序
- 拓扑排序
- 拓扑排序
- intent 启动模式(FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT)
- 窗口滚动动画
- 积跬步至千里——算法强化训练(6)利用基数排序解决O(n)问题
- UI_UITextField
- iOS 结束编辑
- sgu230:Weighings(拓扑)
- 下载网络文件
- 网站开发人员应该知道的61件事
- C# Form控件的Focus()方法总返回false
- error C4996: 'avcodec_get_frame_defaults': 被声明为已否决
- Spring技巧之活用FactoryBean
- 图解SSL/TLS协议
- 那些 “有争议”的编程观点
- 类别添加属性