问题标题: 酷町堂:P4017 最大食物链计数

0
0
已解决
黄子扬
黄子扬
初级天翼
初级天翼
#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
#define MAXN 500005
#define MOD 80112002
using namespace std;
int n,m,ans;
vector<int>p[MAXN]; 
queue<int>q; 
int f[MAXN],ind[MAXN],outd[MAXN];
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		int x,y;
		cin>>x>>y;
		outd[x]++;
		ind[y]++;
		p[x].push_back(y);
	}
	memset(f,0,sizeof(f));
	for(int i=1;i<=n;i++)
	    if(ind[i]==0)
	    {
	    	q.push(i);
	    	f[i]=1;
		}
	while(!q.empty())
	{
		int x=q.front();
		q.pop();
		for(int i=0,sz=p[x].size();i<sz;i++)
		{
			int y=p[x][i];
			f[y]=(f[x]+f[y])&MOD;
			ind[y]--;
			if(ind[y]==0)
			    q.push(y); 
		}
	}
	for(int i=1;i<=n;i++)
	    if(outd[i]=0) 
	        ans=(ans+f[i])%MOD;
	cout<<ans<<endl;
	return 0;
}

QwQ

黄子扬在2020-08-05 15:24:54追加了内容

是洛谷,打错了

黄子扬在2020-08-06 15:26:37追加了内容

两天了,没人来

黄子扬在2020-08-07 13:31:38追加了内容

WAWAWA


0
我要回答