社区讨论
qiutiao
P4017最大食物链计数参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m32x3y4y
- 此快照首次捕获于
- 2024/11/04 19:08 去年
- 此快照最后确认于
- 2025/11/04 15:22 4 个月前
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct node{
int nxt,ver;
}a[100001];
int head[100001],tot;
int n,m;
void add(int x,int y){
a[++tot].nxt=head[x];
head[x]=tot;
a[tot].ver=y;
}
int in[100001];
int out[100001];
int dp[100001];
int top_sort(){
queue<int> q;
for(int i=1;i<=n;i++){
if(!in[i]){
dp[i]=1;
q.push(i);
}
}
int ans=0;
while(!q.empty()){
int x=q.front();
q.pop();
for(int i=head[x];i;i=a[i].nxt){
dp[i]=(dp[i]+dp[x])%80112002;
in[a[i].ver]--;
if(!in[a[i].ver]){
if(!out[a[i].ver]){
ans=(ans+dp[a[i].ver])%80112002;
}
q.push(a[i].ver);
}
}
}
return ans;
}
signed main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
int x,y;
cin>>x>>y;
add(x,y);
in[y]++;
out[x]++;
}
cout<<top_sort();
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...