您的位置:首页 > 其它

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
Submit Status

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: