#include<iostream>
#include<vector>
#include<queue>
#define MOD 80112002
using namespace std;
vector<int> mp[5005];
queue<int> Q;
int out[5005];
int in[5005];
int f[5005];
int main()
{
int n,m,ans;
cin >> n >> m;
for(int i = 1;i <= m;i++){
int x,y;
cin >> x >> y;
out[x]++;
in[y]++;
mp[x].push_back(y);
}
for(int i = 1;i <= n;i++){
if(in[i] == 0){
Q.push(i);
f[i] = 1;
}
}
while(!Q.empty()){
int x = Q.front();
Q.pop();
for(int i = 0,sz = mp[x].size()/*注意这里*/;i < sz;i++){
int y = mp[x][i];
f[y] = (f[x] + f[y]) % MOD;
in[y]--;
if(in[y] == 0){
Q.push(y);
}
}
}
for(int i = 1;i <= n;i++){
if(out[i] == 0){
ans = (ans + f[i]) % MOD;
}
}
cout << ans ;
return 0;
}
发现全过了(开心!),但本着代码要学透的精神,
我又把第40行的 sz = mp[x].size(); i < sz,换成了 i < mp[x].size()
又提交了一遍,就很奇特的全WA了,而且不是RE ???
之后我冷静的又下载了样例1,发现我的输出与答案完全一样???
放图:
------------
本蒟蒻不能理解啊啊啊??? 求助!!!