#include<iostream>
using namespace std;
int main()
{
int n;
int s;
int e;
int flag1,flag2,flag3;//标记起点,终点和中间状态的度数
flag1=0;
flag2=0;
flag3=0;
long m;
int point[1005][2]={0};
//【0】表示出度,【1】表示入度
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>s>>e;
point[s][0]+=1;
point[e][1]+=1;
}
for(int j=1;j<=n;j++)
{
int p=point[j][0]-point[j][1];
if(p==0)
flag3++;
else if(p==-1)
flag1++;
else if(p==1)
flag2++;
else
{
cout<<"NO"<<endl;
return 0;
}
}
if(flag1==1 && flag2==1)
cout<<"YES"<<endl;
return 0;
}
欧拉路
最新推荐文章于 2023-01-22 21:28:36 发布