思路:

缩点,计算入度为0点的个数即可;

#include<bits/stdc++.h>
using namespace std;
typedef long long LL; const int N=1e5+10; struct asd{
int to;
int next;
};
asd q[N*4];
int head[N*4],tol;
int n,m;
int dfn[N];
int low[N];
int stap[N];
int in[N];
int vis[N];
int tp,p,cnt;
int kc[N],kr[N]; void add(int a,int b)
{
q[tol].to=b;
q[tol].next=head[a];
head[a]=tol++;
} void tarjan(int u)
{
dfn[u]=low[u]=++tp;
stap[++p]=u;
vis[u]=1;
for(int v=head[u];v!=-1;v=q[v].next)
{
int i=q[v].to;
if(!dfn[i])
{
tarjan(i);
low[u]=min(low[u],low[i]);
}
else if(vis[i])
low[u]=min(low[u],dfn[i]);
}
if(dfn[u]==low[u])
{
cnt++;
int temp;
while(1)
{
temp=stap[p];
vis[temp]=0;
in[temp]=cnt;
p--;
if(temp==u)
break;
}
}
} int fun()
{
memset(kc,0,sizeof(kc)); for(int i=1;i<=n;i++)
{
for(int v=head[i];v!=-1;v=q[v].next)
{
int to=q[v].to;
if(in[to]!=in[i])
{
kc[in[to]]++;
}
}
} int ans=0;
for(int i=1;i<=cnt;i++)
{
if(!kc[i])
ans++;
}
return ans;
} int main()
{
int T,cas=1,x,y;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m); tol=0;
memset(head,-1,sizeof(head));
memset(dfn,0,sizeof(dfn));
memset(vis,0,sizeof(vis)); while(m--)
{
scanf("%d%d",&x,&y);
add(x,y);
}
tp=p=cnt=0;
for(int i=1;i<=n;i++)
{
if(!dfn[i])
tarjan(i);
}
printf("Case %d: %d\n",cas++,fun());
}
return 0;
}

最新文章

  1. jquery操作select(取值,设置选中)
  2. espcms自定义表单邮件字段
  3. 发个题目坑 二模03day1
  4. WPF的Presenter(ContentPresenter)(转)
  5. 基础:c++中引用与java中的引用
  6. 关于binary log那些事——认真码了好长一篇
  7. git日常使用经验积累
  8. 仿9GAG制作过程(五)
  9. CodeVs 1615 数据备份
  10. 顶尖 API 文档管理工具 (Yapi)
  11. 【Java8】@FunctionalInterface
  12. java 多线程三
  13. C语言--第0次作业评分和总结(5班)
  14. docker利用Dockerfile来制作镜像
  15. quartz整合spring框架service层对象注入为null解决方案
  16. Android面试题(2)
  17. BZOJ4475: [Jsoi2015]子集选取【找规律】【数学】
  18. 遇到的一个渲染的bug
  19. Cocos2d-x Touch事件处理机制
  20. 好的 Web 前端年薪会有多少?

热门文章

  1. jquery 获取cookie的值 中文乱码的问题
  2. 在c代码中获取用户环境变量
  3. Hadoop集群搭建-Hadoop2.8.0安装(三)
  4. 剑指Offer:树的子结构【26】
  5. PAT 天梯赛 L1-054. 福到了 【字符串】
  6. SPOJ1811 LCS SAM
  7. 解决Android Studio Fetching Android SDK component information失败问题【转】
  8. Appium——adb 启动问题Invalid argument: cannot open transport registration socketpair could not read ok from ADB Server failed to start daemon * error: cannot connect to daemon
  9. PL/SQL DEVELOPER执行计划的查看
  10. 字面量(literal)与 C 语言复合字面量(compound literals)