P4017 最大食物鏈計數

2021-09-25 03:26:17 字數 1306 閱讀 4531

你知道食物鏈嗎?delia生物考試的時候,數食物鏈條數的題目全都錯了,因為她總是重複數了幾條或漏掉了幾條。於是她來就來求助你,然而你也不會啊!寫乙個程式來幫幫她吧。

給你乙個食物網,你要求出這個食物網中最大食物鏈的數量。

(這裡的「最大食物鏈」,指的是生物學意義上的食物鏈,即最左端是不會捕食其他生物的生產者,最右端是不會被其他生物捕食的消費者。)

delia非常急,所以你只有1秒的時間。

由於這個結果可能過大,你只需要輸出總數模上80112002的結果。

第一行,兩個正整數n、m,表示生物種類n和吃與被吃的關係數m。

接下來m行,每行兩個正整數,表示被吃的生物a和吃a的生物b。

一行乙個整數,為最大食物鏈數量模上80112002的結果。

571

2132

3352

5453

4

5
#include

#define m(a,b) memset(a,b,sizeof(a))

using

namespace std;

inline

void

read

(int

&x)while

(ch>=

'0'&& ch<=

'9')

if(c==

'-')x=

-x;}

const

int mod=

80112002

;queue<

int> q;

int d[

1000005

],in[

1000005

],eat[

1000005

],head[

1000005];

int n,m,i,tot,ans;

struct ee[

1000005];

inline

void

add(

int u,

int v)

inline

void

work()

}while

(!q.

empty()

)}}int

main()

work()

;for

(i=1

;i<=n;i++)if

(eat[i]==0

)ans=

(ans+d[i]

)%mod;

cout<}

P4017 最大食物鏈計數

你知道食物鏈嗎?delia 生物考試的時候,數食物鏈條數的題目全都錯了,因為她總是重複數了幾條或漏掉了幾條。於是她來就來求助你,然而你也不會啊!寫乙個程式來幫幫她吧。給你乙個食物網,你要求出這個食物網中最大食物鏈的數量。這裡的 最大食物鏈 指的是生物學意義上的食物鏈,即最左端是不會捕食其他生物的生產...

P4017 最大食物鏈計數

miku 很水的拓撲排序 dp 看錯題除外。這道題是要求有多少條食物鏈滿足 左端是不會捕食其他生物的生產者,最右端是不會被其他生物捕食的消費 不是求最長的多長或者有幾條最長!把一些無關緊要的變數起一些人名真有意思 include includeusing namespace std queueq s...

P4017 最大食物鏈計數

狀態表示 f i 表示從 i 開始的所有食物鏈的集合,儲存個數屬性 狀態計算 f i f j 1 f j 2 f j k 其中 j k 為 i 的第 k 個後繼結點 思路 從每乙個最大的捕食者出發跑一遍記憶化,把從他開始的所有食物鏈的個數加上。include includeusing namespa...