拓扑排序做的,WA了九个点,求助!
查看原帖
拓扑排序做的,WA了九个点,求助!
764378
lybhbslsd123楼主2023/8/10 18:57
#include<bits/stdc++.h> 
using namespace std;
int mod=80112002;
int a[6000000];
int in[6000000],out[6000000];
vector<int>ma[600000];
queue<int>q;
int main()
{
	int n,m,ans=0;
	cin>>n>>m;
	int x,y;
	for(int i=0;i<m;i++)
	{
		cin>>x>>y;
		in[y]++;
		out[x]++;
		ma[x].push_back(y);
	}
	for(int i=1;i<=n;i++)
	{
		if(in[i]==0)
		{
			a[i]=1;
			q.push(i);
			break;
		}
	}
	while(!q.empty())
	{
		int star=q.front();
		q.pop();
		for(int i=0;i<ma[star].size();i++)
		{
			int nex=ma[star][i];
			a[nex]=(a[nex]+a[star])%mod;
			in[nex]--;
			if(in[nex]==0)
			{
				q.push(nex);
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		if(out[i]==0)
		{
		cout<<a[i]%mod;
		break;
		}
	}
    return 0;
}
2023/8/10 18:57
加载中...