func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<int> a[1111];   queue<int> p;   int ji[1111], f = 1, b[1111], c[1111];   void dfs(int p) {     ji[p]++;     for (int i = 0; i < a[p].size(); i++) {       if (ji[a[p][i]] >= 3) {         f = 0;         return;       }       dfs(a[p][i]);     }   }   int main() {     int n, m;     scanf( %d%d , &n, &m);     for (int i = 0; i < m; i++) {       int x, y;       scanf( %d%d , &x, &y);       a[x].push_back(y);       b[y]++;       c[x]++;       c[y]++;     }     int h = 0;     for (int i = 1; i <= n; i++) {       if (!b[i] && c[i]) {         p.push(i);         ji[i]++;         h++;       }     }     while (!p.empty()) {       int k = p.front();       p.pop();       ji[k]++;       for (int i = 0; i < a[k].size(); i++) {         int x = a[k][i];         b[x]--;         if (!b[x] && !ji[x]) {           p.push(x);           h++;           ji[x]++;         }       }     }     if (h == n)       printf( yes n );     else       printf( no n );     return 0;   }   