mxqz, O2WA 不O2TLE
查看原帖
mxqz, O2WA 不O2TLE
242524
JRzyh楼主2020/12/25 14:23
#include<bits/stdc++.h>
#define mod 80112002
using namespace std;
int n,m; 
struct edge
{
	int t,nxt;
}e[100008];
int ecnt,hd[100008],in[100008],ans,dp[100008],out[100008];
void add(int u,int v)
{
	e[++ecnt].t=v;
	e[ecnt].nxt=hd[u];
	hd[u]=ecnt;
}
void tp()
{
	queue<int>q;
	for(int i=1;i<=n;i++)
	{
		if(in[i]==0)
		{
			q.push(i);
			dp[i]=1;
		}
	}
	while(!q.empty())
	{
		int u=q.front();
		q.pop();
		for(int i=hd[u];i;i=e[i].nxt)
		{
			int v=e[i].t;
			in[v]--;
			dp[v]+=dp[u];
			dp[v]%=mod;
			if(!in[v])
			{
				q.push(v);
				if(!out[v])
				{
					ans+=dp[v]; 
					ans%=mod;
				}
			} 
		}
	}
} 
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		int u,v;
		cin>>u>>v;
		add(v,u);
		in[u]++;
		out[v]++;
	}
	tp();
	cout<<ans%mod<<endl;
 	return 0;
}
2020/12/25 14:23
加载中...