HDU 3342 拓扑排序
来源:互联网 发布:单片机学习网站 编辑:程序博客网 时间:2024/05/21 00:16
拓扑排序的主要思想是
先统计每个点的入度,从入度为0的点开始,与它关联的点的入度减减,最后形成一个序列,注意可能存在环的情况,要考虑
#include<stdio.h>#include<string.h>int g[110][110],use[110],d[110],f[110];int main(){ int n,m; while(scanf("%d%d",&n,&m)==2) { if(n==0) break; int i,j; int a,b; memset(g,0,sizeof(g)); memset(use,0,sizeof(use)); memset(d,0,sizeof(d)); memset(f,0,sizeof(f)); for(i=0;i<m;i++) { scanf("%d%d",&a,&b); g[a][b]=1; } for(j=0;j<n;j++) { int q=0; for(i=0;i<n;i++) if(g[i][j]==1) q++; f[j]=q; } int t=0; int s=0; while(s<n&&t<n) { for(i=0;i<n;i++) { if(!use[i]&&!f[i]) { use[i]=1; d[t++]=i; for(j=0;j<n;j++) { if(g[i][j]==1) f[j]--; } } } s++; } if(t==n) printf("YES\n"); else printf("NO\n"); } return 0;}
- HDU 3342 拓扑排序
- hdu 3342 拓扑排序
- HDU 3342 拓扑排序
- hdu 3342 拓扑排序
- hdu 3342 拓扑排序
- 拓扑排序 HDU 3342
- hdu 3342 拓扑排序
- hdu 3342 拓扑排序
- HDU 3342 拓扑排序
- hdu 3342 拓扑排序
- HDU 3342 拓扑排序
- hdu 3342(拓扑排序)
- hdu 3342 拓扑排序 水
- hdu 3342(拓扑排序)
- hdu 3342(拓扑排序)
- hdu 3342 拓扑排序模板题
- 【拓扑排序】hdu 3342 Legal or Not
- 【HDU】3342 Legal or Not 拓扑排序
- Loading module "oracleasm": Unable to load module "oracleasm"
- 创建XMLHttpRequest步骤详解
- Python中的全局变量操作
- Sniffer含义及工作原理
- 隐式转换
- HDU 3342 拓扑排序
- 面向对象----类基础知识
- Extjs之布局详解
- OpenNMS---邮件通知配置笔记--开源监控软件
- sort
- 十大hack工具
- OpenNMS--SNMP安装及配置(RRD)--开源监控软件
- (2)LUA程序设计-类型与值(type & value)
- 一步步写驱动--模块