HDU 3342 Legal or Not【拓扑排序】
2012-07-28 14:26
357 查看
题意: 给出一些人的名次关系,问存不存在冲突的情况。
分析: 这题其实就是判断拓扑排序的过程中是否会出现环,判断环的方法是: 在某一次排序的过程中找不到入度为 0 的点,即说明有环。
PS: 重边 需要考虑...
分析: 这题其实就是判断拓扑排序的过程中是否会出现环,判断环的方法是: 在某一次排序的过程中找不到入度为 0 的点,即说明有环。
PS: 重边 需要考虑...
#include<cstdio> #include<cstring> #define clr(x)memset(x,0,sizeof(x)) int g[102][102]; int indegree[102]; int main() { int i,j,k,n,m,a,b; bool flag; while(scanf("%d%d",&n,&m),n&&m) { clr(indegree); clr(g); while(m--) { scanf("%d%d",&a,&b); if(!g[a][b]){ g[a][b]=1; indegree[b]++; } } for(i=0;i<n;i++) { flag=true; for(j=0;j<n;j++) if(indegree[j]==0) { indegree[j]=-1; flag=false; for(k=0;k<n;k++) if(g[j][k]) indegree[k]--; break; } if(flag) break; } printf("%s\n",flag?"NO":"YES"); } return 0; }
相关文章推荐
- hdu 3342 Legal or Not(拓扑排序)
- HDU 3342 Legal or Not (拓扑排序)
- HDU 3342 Legal or Not (拓扑排序)
- hdu 3342 Legal or Not - 拓扑排序
- [ACM] hdu 3342 Legal or Not (拓扑排序)
- HDU 3342 Legal or Not(拓扑排序)
- hdu 3342 Legal or Not 拓扑排序
- hdu 3342 Legal or Not(DAG的拓扑排序)
- hdu 3342 Legal or Not 拓扑排序
- hdu 3342 Legal or Not(拓扑排序)
- HDU 3342 Legal or Not(拓扑排序)
- HDU-3342 Legal or Not(拓扑排序)
- hdu 3342 Legal or Not ( 拓扑排序 )
- HDU 3342 Legal or Not (有向图的拓扑排序)
- Hdu 3342 Legal or not(基于邻接表的BFS+队列的拓扑排序)
- HDU 3342 Legal or Not (拓扑排序)
- hdu 3342 Legal or Not(拓扑排序dfs)
- 拓扑排序 HDU 3342 Legal or Not
- HDU 3342 Legal or Not (最短路 拓扑排序?)
- hdu 3342 Legal or Not (拓扑排序)