题目大意:求联通块的数量
显然可以想到tarjan缩点之后统计出度为0的点的数量
但这题会MLE
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define fo(i,a,b) for(int i=a;i<=b;i++)
#define fod(i,a,b) for(int i=a;i>=b;i--)
using namespace std;
const int N=1e6+10;
int n,len=0,tot=0,cnt=0,scc=0,top=0,ans=0,last[N],head[N],
dfn[N],low[N],ins[N],v[N],bl[N],s[N],fa[N];
struct Edge{
int to,next;Edge(int to=0,int next=