1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #define INF 0x3f3f3f3f 5 int map[1000][1000],visited[1000]; 6 int n,m; 7 int flag; 8 void DFS(int t) 9 { 10 int i; 11 visited[t]=1; 12 for(i=n; i>=1; i--) 13 { 14 if(visited[i]==0&&map[t][i]==1) 15 { 16 DFS(i); 17 } 18 } 19 } 20 int main() 21 { 22 while(~scanf("%d %d",&n,&m)) 23 { 24 int i; 25 memset(map,0,sizeof(map)); 26 memset(visited,0,sizeof(visited)); 27 for(i=1; i<=m; i++) 28 { 29 int a,b; 30 scanf("%d %d",&a,&b); 31 map[a][b]=1; 32 } 33 DFS(n); 34 if(visited[1]==1) 35 printf("YES "); 36 else 37 printf("NO "); 38 } 39 return 0; 40 }