BestCoder25 1001.Harry and Magical Computer(hdu 5154) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5154
题目意思:有 n 门 processes(编号依次为1,2,...,n),然后给出 m 种关系: a,b。表示 process b 要在 process a 之前完成。问经过 m 种关系之后,有没有可能完成所有的 process。
可以利用拓扑排序的思想做。遍历所有 process,处理所有入度为 0 的点,然后把与该点关联的点,即度数都减一。这样处理完之后,每个点的度数应该都是-1,否则就代表有环,不能完成所有的process。
1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 using namespace std; 5 6 const int maxn = 100 + 10; 7 int map[maxn][maxn]; 8 int in[maxn]; 9 int n, m; 10 11 int main() 12 { 13 #ifndef ONLINE_JUDGE 14 freopen("in.txt", "r", stdin); 15 #endif // ONLINE_JUDGE 16 int from, to; 17 while (scanf("%d%d", &n, &m) != EOF) { 18 memset(map, 0, sizeof(map)); 19 memset(in, 0, sizeof(in)); 20 for (int i = 0; i < m; i++) { 21 scanf("%d%d", &to, &from); 22 if (!map[from][to]) 23 { 24 map[from][to] = 1; 25 in[to]++; // 入度 26 } 27 } 28 for (int i = 1; i <= n; i++) 29 { 30 for (int j = 1; j <= n; j++) 31 { 32 if (!in[j]) 33 { 34 in[j] = -1; 35 for (int k = 1; k <= n; k++) 36 { 37 if (map[j][k]) 38 { 39 map[j][k] = 0; 40 in[k]--; 41 } 42 } 43 break; 44 } 45 } 46 } 47 bool flag = true; 48 for (int i = 1; i <= n; i++) 49 { 50 if (in[i] != -1) 51 { 52 flag = false; 53 break; 54 } 55 } 56 printf("%s\n", flag ? "YES" : "NO"); 57 } 58 return 0; 59 }
转载于:https://www.cnblogs.com/windysai/p/4215921.html
BestCoder25 1001.Harry and Magical Computer(hdu 5154) 解题报告相关推荐
- hdu 2058 解题报告 - The sum problem
hdu 2058 解题报告 - The sum problem 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2058 等差求和公式: Sn=(a1+aN ...
- BestCoder16 1002.Revenge of LIS II(hdu 5087) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5087 题目意思:找出第二个最长递增子序列,输出长度.就是说,假如序列为 1 1 2,第二长递增子序列是 ...
- BestCoder4 1002 Miaomiao's Geometry (hdu 4932) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4932 题目意思:给出 n 个点你,需要找出最长的线段来覆盖所有的点.这个最长线段需要满足两个条件:(1 ...
- BestCoder15 1002.Instruction(hdu 5083) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5083 题目意思:如果给出 instruction 就需要输出对应的 16-bit binary cod ...
- HDU 1506 解题报告 Largest Rectangle in a Histogram (单调栈)
看题传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1506 题意比较明显,就是找以某一个矩形为高的最大的矩形.这个题可以用单调栈来求解,需要注意的是如果从 ...
- BestCoder3 1002 BestCoder Sequence(hdu 4908) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4908 题目意思:给出 一个从1~N 的排列你和指定这个排列中的一个中位数m,从这个排列中找出长度为奇数 ...
- Fibonacci Tree HDU - 4786——解题报告
立志用更少的代码做更高效的表达 Coach Pang is interested in Fibonacci numbers while Uncle Yang wants him to do some ...
- hdu 1754 解题报告 I Hate It
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU 1870解题报告(愚人节的礼物)
愚人节的礼物 Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class ...
最新文章
- 前端页面可视化设计工具
- 在线便携小电视源码 云电视源码
- static与线程安全 -摘自网络
- [转]综述论文翻译:A Review on Deep Learning Techniques Applied to Semantic Segmentation
- 分享最新36款高质量免费英文字体
- 职场怪谈:技术面试过了一般HR多久联系?
- python还可以这么玩?用Python把视频转换为字符动画(含音频、高清、彩图)【附源码】
- Android NDK开发基础
- 全景视频的格式转换工具
- iOS category内部实现原理
- matlab保存pgm图形,pgm格式文件及其在matlab中的读取存储方法(1)
- Android笔记-Felix
- HCSA-03 Hillstone系统管理员分类、配置文件信息、版本升级、恢复出厂设置、许可证
- 屏蔽搜索引擎的无用蜘蛛,减轻服务器压力
- Zookeeper 的基本使用
- 敏感文件/目录扫描工具 dirsearch
- 用Python让你完成一次绝美樱花视觉体验瞬间陷入二次元~
- 【咕泡】Java高薪offer冲刺班【诚小七】
- ubuntu14.4安装gtx970显卡驱动的艰辛历程
- unity3d terrian tree 地形组件 草木石树无法碰撞的解决办法