#include<bits/stdc++.h>
using namespace std;
bool vis[10005];
int mmap[10005][10005];
int n,m;
int u,v;
void dfs(int x)
{
for(int i=1;i<=n;i++)
{
if(!vis[i] && mmap[x][i]==1)
{
vis[i]=true;
dfs(i);
}
}
}
int main()
{
while(cin>>n>>m)
{
memset(vis,false,sizeof(vis));
memset(mmap,0,sizeof(mmap));
for(int i=0;i<m;i++)
{
cin>>u>>v;
mmap[u][v]=1;
}
vis[n]=true;
dfs(n);
if(vis[i])
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
编译错误,有没有大佬看一下