★ 輸入檔案:chain_2016.in
輸出檔案:chain_2016.out
簡單對比
時間限制:1 s 記憶體限制:128 mb
如圖所示為某生態系統的食物網示意圖,據圖回答第一小題。
1.數一數,在這個食物網中有幾條食物鏈( )
現在給你n
個物種和m
條能量流動關係,求其中的食物鏈條數。
物種的名稱為從1
到n編號,m
條能量流動關係形如
a1b1
a2b2
a3b3
……am−1bm−1
ambm
其中aibi
表示能量從物種ai
流向物種bi
。第一行兩個正整數n和m。
接下來m
行每行兩個整數aibi
表示m條能量流動關係。
(資料保證輸入資料符號合生物學特點,且不會有重複的能量流動關係出現)
乙個整數即食物網中的食物鏈條數。
10 161 21 4
1 10
2 32 5
4 34 5
4 86 8
7 67 9
8 59 8
10 6
10 7
10 9
9就是上面題目描述1的那個圖。
各個物種的編號依次為:
草1 兔2 狐3 鼠4 貓頭鷹5 吃蟲的鳥6 蜘蛛7 蛇8 青蛙9 食草昆蟲10。
1≤n≤100000,0≤m≤200000
。haoi2016上午第一題 部分題面由ck進行調整
//記憶化搜尋:單點不算食物鏈
#include#include
#include
#include
using
namespace
std;
const
int n=200010
;int u[n>>1],v[n>>1],v0[n>>1
];int head[n>>1
];int ans[n>>1
];bool vis[n>>1
];int now=1
;int
n,m,js;
intanswer;
struct
nodee[n];
inline
intread()
while(c>='
0'&&c<='
9')x=x*10+c-'
0',c=getchar();
return x*f;
}inline
void add(int u,int
v)void dfs(int
start)
for(int i=head[start];~i;i=e[i].nxt)
if(!vis[e[i].v])
dfs(e[i].v),
vis[e[i].v]=0;}
intmain()
for(int i=1;i<=n;i++)
if(!v[i]&&u[i])
v0[++js]=i;
for(int i=1;i<=js;i++)
dfs(v0[i]);
printf("%d
",answer);
return0;
}/*10 16
1 21 4
1 10
2 32 5
4 34 5
4 86 8
7 67 9
8 59 8
10 6
10 7
10 9
*/
//單點不算食物鏈
#include#include
#include
#include
using
namespace
std;
const
int n=200010
;int u[n>>1],v[n>>1],v0[n>>1
];int head[n>>1
];int ans[n>>1
];bool vis[n>>1
];int now=1
;int
n,m,js;
intanswer;
struct
nodee[n];
inline
intread()
while(c>='
0'&&c<='
9')x=x*10+c-'
0',c=getchar();
return x*f;
}inline
void add(int u,int
v)int dfs(int
start)
intmain()
for(int i=1;i<=n;i++)
if(!v[i]&&u[i])
v0[++js]=i;
for(int i=1;i<=js;i++)
answer+=dfs(v0[i]);
printf("%d
",answer);
return0;
}
HAOI2016 食物鏈 (記憶化搜尋)
現在給你n個物種和m條能量流動關係,求其中的食物鏈條數。物種的名稱為從1到n編號m條能量流動關係形如a1 b1a2 b2a3 b3 am 1 bm 1am bm 其中ai bi表示能量從物種ai流向物種bi,注意單獨的一種孤立生物不算一條食物鏈 第一行兩個整數n和m,接下來m行每行兩個整數ai bi...
洛谷 P3183 HAOI2016 食物鏈
如圖所示為某生態系統的食物網示意圖,據圖回答第1小題現在給你n個物種和m條能量流動關係,求其中的食物鏈條數。物種的名稱為從1到n編號m條能量流動關係形如a1 b1a2 b2a3 b3.am 1 bm 1am bm其中ai bi表示能量從物種ai流向物種bi,注意單獨的一種孤立生物不算一條食物鏈 輸入...
球隊「食物鏈」
某國的足球聯賽中有n支參賽球隊,編號從1至n。聯賽採用主客場雙迴圈賽制,參賽球隊兩兩之間在雙方主場各賽一場。聯賽戰罷,結果已經塵埃落定。此時,聯賽主席突發奇想,希望從中找出一條包含所有球隊的 食物鏈 來說明聯賽的精彩程度。食物鏈 為乙個1至nnn的排列,滿足 球隊t1戰勝過球隊t2t 2t 2 球隊...