#include<iostream>
#include<cstring>
using namespace std;
int main(){
int m,r;
cin>>m>>r;
while(m){
int relation[m][m];
int in[m];
memset(relation,0,sizeof(relation));
memset(in,0,sizeof(in));
int pre,rear;
for(int i=0;i<r;i++){
cin>>pre>>rear;
if(!relation[pre][rear]){
relation[pre][rear]=1;
in[rear]++;
}
}
for(int i=0;i<m;i++){
for(int j=0;j<m;j++){
if(in[j]==0){
in[j]--;
for(int k=0;k<m;k++){
if(relation[j][k]) in[k]--;
}
break;
}
}
}
int flag=1;
for(int i=0;i<m;i++){
if(in[i]!=-1){
cout<<"NO"<<endl;
flag=0;
break;
}
}
if(flag) cout<<"YES"<<endl;
cin>>m>>r;
}
return 0;
}
hdu3342(拓扑排序,注意判重)
猜你喜欢
转载自blog.csdn.net/weixin_45670020/article/details/109063313
今日推荐
周排行