食物鏈都會數吧!從最低端到達最高端稱為一條食物鏈。(高中生物題),現在有m條關係和n種動物,數關係圖中有多少條食物鏈。haoi2016食物鏈
思路食物鏈就是找出哪些點的優先度比較低,而拓撲排序正是比較點與點出現前後關係的演算法,所以採用拓撲演算法。
#include#define m 200010
using namespace std;
int head[m];
int rd[m],cd[m];
int sum[m];
int ans,cnt;
struct node
edge[m];
void init( )
void add(int x,int y)
int dfs(int x)
for(int i=head[x];i!=-1;i=edge[i].next)
else
}return sum[x];
}int main( )
for(int i=1;i<=n;i++)
}printf("%d\n",ans);
return 0;
}
牛客 食物鏈(最經典的並查集)
題目描述 動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a b吃c,c吃a。現有n個動物,以1 n編號。每個動物都是a,b,c中的一種,但是我們並不知道它到底是哪一種。有人用兩種說法對這n個動物所構成的食物鏈關係進行描述 第一種說法是 1 x y 表示x和y是同類。第二種說法是...
P4017 最大食物鏈計數 拓撲排序
題目背景 你知道食物鏈嗎?delia 生物考試的時候,數食物鏈條數的題目全都錯了,因為她總是重複數了幾條或漏掉了幾條。於是她來就來求助你,然而你也不會啊!寫乙個程式來幫幫她吧。題目描述 給你乙個食物網,你要求出這個食物網中最大食物鏈的數量。這裡的 最大食物鏈 指的是生物學意義上的食物鏈,即最左端是不...
P4017 最大食物鏈計數 拓撲排序
你知道食物鏈嗎?delia生物考試的時候,數食物鏈條數的題目全都錯了,因為她總是重複數了幾條或漏掉了幾條。於是她來就來求助你,然而你也不會啊!寫乙個程式來幫幫她吧。給你乙個食物網,你要求出這個食物網中最大食物鏈的數量。這裡的 最大食物鏈 指的是生物學意義上的食物鏈,即最左端是不會捕食其他生物的生產者...