hdu 5154 Harry and Magical Computer 拓扑排序
2016-10-20 20:15
447 查看
Harry and Magical Computer
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)[align=left]Problem Description[/align]
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.
[align=left]Input[/align]
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
[align=left]Output[/align]
Output one line for each test case.
If the computer can finish all the process print "YES" (Without quotes).
Else print "NO" (Without quotes).
[align=left]Sample Input[/align]
3 2
3 1
2 1
3 3
3 2
2 1
1 3
[align=left]Sample Output[/align]
YES
NO
[align=left]Source[/align]
BestCoder Round #25
题意:有向图判环;
思路:拓扑完没点;
#include<bits/stdc++.h> using namespace std; #define ll long long #define mod 1000000007 #define esp 0.00000000001 const int N=2e3+10,M=1e6+10,inf=1e9; int n,m; vector<int>edge ; int du ; int main() { while(~scanf("%d%d",&n,&m)) { queue<int>q; memset(du,0,sizeof(du)); for(int i=0;i<=n;i++) edge[i].clear(); int ans=0; for(int i=1;i<=m;i++) { int u,v; scanf("%d%d",&u,&v); edge[u].push_back(v); du[v]++; } for(int i=1;i<=n;i++) { if(!du[i])q.push(i); } while(!q.empty()) { int v=q.front(); q.pop(); ans++; for(int i=0;i<edge[v].size();i++) { du[edge[v][i]]--; if(!du[edge[v][i]]) q.push(edge[v][i]); } } if(ans==n) printf("YES\n"); else printf("NO\n"); } return 0; }
相关文章推荐
- 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
- 拓扑排序 杭电5154 Harry and Magical Computer
- HDU 5154 Harry and Magical Computer (BFS)
- HDU 5154_Harry and Magical Computer
- HDU 5154 Harry and Magical Computer 有向图判环
- 拓扑序列 之 hdu 5154 Harry and Magical Computer
- HDOJ 5154 Harry and Magical Computer (拓扑排序)
- HDU 5154 Harry and Magical Computer【逆拓扑】
- HDU 5154 Harry and Magical Computer
- hdu 5154 Harry and Magical Computer(BestCoder Round #25)
- Harry and Magical Computer (HDU 5154)
- HDU 5154 Harry and Magical Computer bfs