搜索
查看: 49|回复: 0

12175

[复制链接]
 楼主| 发表于 2019-2-14 18:09:57 | 显示全部楼层 |阅读模式
  1. #include <cstdio>
  2. #include <vector>
  3. #include <cstring>
  4. using namespace std;
  5. int n,m,a,b;
  6. int book[10009],ans;
  7. vector <int> e[10009];
  8. int sum[10009];
  9. void dfs(int u,int s)
  10. {
  11.     if(book[u]==1) return;
  12.     book[u]=1;
  13.     for(int i=0;i<e[u].size();i++)
  14.     {
  15.         int v=e[u][i];
  16.         if(v!=s) sum[v]++;
  17.         dfs(v,s);
  18.     }
  19.     return;
  20. }
  21. int main()
  22. {
  23.      
  24.     scanf("%d%d",&n,&m);
  25.     for(int i=1;i<=m;i++)
  26.     {
  27.         scanf("%d%d",&a,&b);
  28.         e[a].push_back(b);
  29.     }
  30.     for(int i=1;i<=n;i++)
  31.     {
  32.         memset(book,0,sizeof(book));
  33.         dfs(i,i);
  34.     }
  35.     for(int i=1;i<=n;i++)
  36.     {
  37.         if(sum[i]==n-1)
  38.         {
  39.             ans++;
  40.         }
  41.     }
  42.     printf("%d",ans);
  43.     return 0;
  44. }
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表