下载了样例#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;
}