40pts求条
查看原帖
40pts求条
699271
gaojizhe05楼主2025/2/5 10:06

https://www.luogu.com.cn/record/201343694

#include <bits/stdc++.h>
using namespace std;
const int mod = 80112002;
int n, m, x, y, cnt[5007], ans[5007], sum;
vector <int> e[5007];
queue <int> q;
int main(){
    cin >> n >> m;
    for(int i = 1; i <= m; i++){
        cin >> x >> y;
        cnt[y]++;
        e[x].push_back(y);
    }
    for(int i = 1; i <= n; i++)
        if(cnt[i] == 0){
            ans[i] = 1;
            q.push(i);
        }
    while(!q.empty()){
        int u = q.front();
        q.pop();
        if(e[u].size() == 0) sum += ans[u];
        for(int i = 0; i < e[u].size(); i++){
            int v = e[u][i];
            ans[v] += ans[u] + mod;
            ans[v] %= mod;
            cnt[v]--;
            if(cnt[v] == 0) q.push(v);
        }
    }
    cout << sum;
    return 0;
}
2025/2/5 10:06
加载中...