#include<bits/stdc++.h>
using namespace std;
int main()
{
int v,e;
while(~scanf("%d%d",&v,&e))
{
bool map0[15][15];
int inde[15];
memset(map0,false,sizeof(map0));
memset(inde,0,sizeof(inde));
for(int i=0; i<e; i++)
{
int v1,v2;
scanf("%d%d",&v1,&v2);
map0[v1][v2]=true;
inde[v2]++;
}
for(int i=0; i<v; i++)
for(int j=0; j<v; j++)
if(map0[i][j])
inde[j]--;
int f=1;
for(int i=0; i<v; i++)
if(inde[i]>0)
{
f=0;
break;
}
if(f)
printf("YES\n");
else
printf("NO\n");
}
}
SDUT2140图结构练习——判断给定图是否存在合法拓扑序列
最新推荐文章于 2019-01-17 16:14:07 发布