HDU 5154 Harry and Magical Computer 拓扑排序
2015-01-04 14:35
525 查看
Harry and Magical Computer
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 288 Accepted Submission(s): 131
Problem Description
In reward of being yearly outstanding magic student, Harry gets a magical computer. When the computer begins to deal with a process, it will work until the ending of the processes. One day the computer got n processes to deal with.
We number the processes from 1 to n. However there are some dependencies between some processes. When there exists a dependencies (a, b), it means process b must be finished before process a. By knowing all the m dependencies, Harry wants to know if the computer
can finish all the n processes.
Input
There are several test cases, you should process to the end of file.
For each test case, there are two numbers n m on the first line, indicates the number processes and the number of dependencies.
1≤n≤100,1≤m≤10000
The next following m lines, each line contains two numbers a b, indicates a dependencies (a, b).
1≤a,b≤n
Output
Output one line for each test case.
If the computer can finish all the process print "YES" (Without quotes).
Else print "NO" (Without quotes).
Sample Input
3 2 3 1 2 1 3 3 3 2 2 1 1 3
Sample Output
YES NO[code]/* HDU 5154 拓扑排序 拓扑排序,判断最后所以的点的度数是否都为0 */ #include<iostream> #include<stdio.h> #include<vector> #include<queue> using namespace std; #define N 105 vector<int> map ; int ru ; int main() { int m,n,a,b,i,f; while(scanf("%d%d",&n,&m)!=EOF) { memset(ru,0,sizeof(ru)); for(i=1;i<=n;i++) map[i].clear(); for(i=1;i<=m;i++) { scanf("%d%d",&a,&b); map[b].push_back(a); ru[a]++; } queue<int> que; for(i=1;i<=n;i++) if(ru[i]==0) que.push(i); while(!que.empty()) { a=que.front(); que.pop(); for(i=0;i<map[a].size();i++) { b=map[a][i]; ru[b]--; if(ru[b]==0) que.push(b); } } f=1; for(i=1;i<=n;i++) if(ru[i]) { f=0; break; } printf("%s\n",f?"YES":"NO"); } return 0; }[/code]
相关文章推荐
- hdu 5154 Harry and Magical Computer(拓扑排序)
- hdu 5154 Harry and Magical Computer 拓扑排序
- 拓扑排序简单思路O(n^2)附HDU 5154 Harry and Magical Computer
- hdu 5154 Harry and Magical Computer(拓扑排序,dfs判环)
- hdu 5154 Harry and Magical Computer(拓扑排序)
- HDU 5154 Harry and Magical Computer (拓扑排序)
- HDU 5154 Harry and Magical Computer (拓扑排序)
- hdu_5154 Harry and Magical Computer
- hdu 5154 -- Harry and Magical Computer
- HDU 5154 Harry and Magical Computer 有向图判环
- HDU 5154 Harry and Magical Computer【逆拓扑】
- 拓扑排序 杭电5154 Harry and Magical Computer
- 拓扑序列 之 hdu 5154 Harry and Magical Computer
- HDOJ 题目5154 Harry and Magical Computer(拓扑排序)
- hdu 5154 Harry and Magical Computer
- hdu Harry and Magical Computer 拓扑排序(简单)
- HDU 5154 Harry and Magical Computer (BFS)
- HDU 5154 Harry and Magical Computer bfs
- Harry and Magical Computer (HDU 5154)
- hdu 5154 Harry and Magical Computer