HDU 5154 Harry and Magical Computer (拓扑排序)
2016-11-06 15:40
501 查看
#include<stdio.h> #include<string.h> using namespace std; int degree[505],res[505]; bool maps[505][505]; int n,m; void topo()<span style="white-space:pre"> </span>//直接抄板子。 { int p; for(int i=1; i<=n; i++) { p=-1; for(int j=1; j<=n; j++) { if(degree[j]==0) { degree[j]--; res[i]=p=j; break; } } for(int j=1; j<=n; j++) { if(maps[p][j]==true) { maps[p][j]=false; degree[j]--; } } } } void output() { int flag=0; for(int i=1; i<=n; i++) { if(res[i]==0) { flag=1; } } if(flag==1) printf("NO\n"); else printf("YES\n"); } int main() { int x,y; while(~scanf("%d%d",&n,&m)) { memset(maps,false,sizeof(maps)); memset(degree,0,sizeof(degree)); memset(res,0,sizeof(res)); for(int i=1; i<=m; i++) { scanf("%d%d",&x,&y); if(maps[x][y]==false) { maps[x][y]=true; degree[y]++; } } topo(); output(); } }
Harry and Magical Computer
Time Limit: 1000MS | Memory Limit: 32768KB | 64bit IO Format: %I64d & %I64u |
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.
The next following m lines, each line contains two numbers a b, indicates a dependencies (a, b).
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
Source
BestCoder Round #25
相关文章推荐
- HDU 5154 Harry and Magical Computer (拓扑排序)
- HDU 5154 Harry and Magical Computer 拓扑排序
- 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(拓扑排序)
- 拓扑排序简单思路O(n^2)附HDU 5154 Harry and Magical Computer
- hdu 5154 -- Harry and Magical Computer
- HDOJ 5154 Harry and Magical Computer (拓扑排序)
- Harry and Magical Computer (HDU 5154)
- hdu 5154 Harry and Magical Computer(BestCoder Round #25)
- hdu 5154 Harry and Magical Computer
- hdu 5154 Harry and Magical Computer
- 【CUGBACM15级BC第25场 A】hdu 5154 Harry and Magical Computer
- 拓扑排序 杭电5154 Harry and Magical Computer
- HDU 5154 Harry and Magical Computer【逆拓扑】
- 杭电5154 Harry and Magical Computer(拓扑排序)
- hdu 5154 Harry and Magical Computer
- 拓扑序列 之 hdu 5154 Harry and Magical Computer
- HDU 5154 Harry and Magical Computer