悬观求解(灵异事件)
查看原帖
悬观求解(灵异事件)
1111184
lychen2025楼主2025/7/30 15:48

下载了样例#1,发现在IDE里输出力正确答案,提交却全WA
代码(记忆DFS):

#include<bits/stdc++.h>
#define MOD 80112002
#define ll long long
using namespace std;
ll n,m,ans;
ll indu[5003],dp[5003];
vector<ll>G[5003];
ll dfs(int x){
	ll sum=0;
	if(!G[x].size())dp[x]=1;
	if(dp[x]!=0)return dp[x];
	for(auto y : G[x])sum=(sum+dfs(y))%MOD;
	dp[x]=sum;
	return sum;
}
ll rd(){
	char x;ll f=1,s=0;
	x=getchar();
	if(x=='-'){
		x=getchar();
		f=-1;
	}
	while('0'<=x&&x<='9'){
		s=s*10+x-'0';
		x=getchar();
	}
	return s*f;
}
int main(){
	n=rd();m=rd();
	for(int i=1;i<=m;i++){
		ll x,y;
		x=rd();y=rd();
		indu[y]++;
		G[x].push_back(y);		
	}
	for(int i=1;i<=n;i++){
		if(!indu[i])ans=(ans+dfs(i))%MOD;
	}
	cout<<ans;
	return 0;
}
2025/7/30 15:48
加载中...