HDU 3342
来源:互联网 发布:preview.exe软件下载 编辑:程序博客网 时间:2024/05/21 00:20
题目描述
题目:HDOJ 3342
题目真啰嗦,实际上是判断一个有向图中是否存在环。
分析
应用拓扑排序,如果一个有向图可以顺利完成拓扑排序,其肯定不存在环;否则,该有向图肯定存在环。
陷阱:在输入数据的时候注意数据可能会重复,因此要加一个判断
源代码
#include <stdio.h>#include <string.h>int nodeRelation[100][100];int inDegree[100];int topSort(int N);int main(){int N, M;int master, prentice;int i;int result;scanf("%d%d", &N, &M);while (N != 0){memset(nodeRelation, 0, sizeof(nodeRelation));memset(inDegree, 0, sizeof(inDegree));for (i = 0; i < M; i ++){scanf("%d%d", &master, &prentice);//注意可能会有重复数据if (nodeRelation[master][prentice] == 0){nodeRelation[master][prentice] = 1;inDegree[prentice] ++;}}result = topSort(N);if (result == 1)printf("YES\n");elseprintf("NO\n");scanf("%d%d", &N, &M);}return 0;}int topSort(int N){int i, j, k;for (i = 0; i < N; i ++){for (j = 0; j < N; j ++){if (inDegree[j] == 0){inDegree[j] --;for (k = 0; k < N; k ++){if (nodeRelation[j][k] == 1)inDegree[k] --;}break;}}if (j == N)return 0;}return 1;}
- 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 拓扑排序
- HDU 3342 解题报告
- 问题一百二十三:统计子串
- 关于派生类成员变量的内存问题
- 数学专项number_theory:UVa 11105
- hdu3336-Count the string
- n进制小数 将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数,小数点后保留8位,并输出。
- HDU 3342
- ROS探索总结(四)——简单的机器人仿真
- KMP算法
- Quartz学习(二)--Quartz 框架核心接口
- uva188 - Perfect Hash(完美哈希)
- hdu1272 小希的迷宫
- Householder relections
- 区域划分问题总结
- 1到n的数组中找出duplicates