luogu P1041 傳染病控制 dfs

2022-08-03 06:36:11 字數 2103 閱讀 6794

[luogu]p1041

傳染病控制

——!x^n+y^n=z^n

題目背景

近來,一種新的傳染病肆虐全球。蓬萊國也發現了零星感染者,為防止該病在蓬萊國大範圍流行,該國**決定不惜一切代價控制傳染病的蔓延。不幸的是,由於人們尚未完全認識這種傳染病,難以準確判別病毒攜帶者,更沒有研製出疫苗以保護易感人群。於是,蓬萊國的疾病控制中心決定採取切斷傳播途徑的方法控制疾病傳播。經過 who(世界衛生組織)以及全球各國科研部門的努力,這種新興傳染病的傳播途徑和控制方法已經研究清楚,剩下的任務就是由你協助蓬萊國疾控中心制定乙個有效的控制辦法。

題目描述

研究表明,這種傳染病的傳播具有兩種很特殊的性質;

第一是它的傳播途徑是樹型的,乙個人x只可能被某個特定的人y感染,只要y不得病,或者是xy之間的傳播途徑被切斷,則x就不會得病。

第二是,這種疾病的傳播有週期性,在乙個疾病傳播週期之內,傳染病將只會感染一代患者,而不會再傳播給下一代。

這些性質大大減輕了蓬萊國疾病防控的壓力,並且他們已經得到了國內部分易感人群的潛在傳播途徑圖(一棵樹)。但是,麻煩還沒有結束。由於蓬萊國疾控中心人手不夠,同時也缺乏強大的技術,以致他們在乙個疾病傳播週期內,只能設法切斷一條傳播途徑,而沒有被控制的傳播途徑就會引起更多的易感人群被感染(也就是與當前已經被感染的人有傳播途徑相連,且連線途徑沒有被切斷的人群)。當不可能有健康人被感染時,疾病就中止傳播。所以,蓬萊國疾控中心要制定出乙個切斷傳播途徑的順序,以使盡量少的人被感染。

你的程式要針對給定的樹,找出合適的切斷順序。

輸入輸出格式

輸入格式:

輸入格式的第一行是兩個整數n(1≤n≤300)和p。接下來p行,每一行有兩個整數i和j,表示節點i和j間有邊相連(意即,第i人和第j人之間有傳播途徑相連)。其中節點1是已經被感染的患者。

輸出格式:

只有一行,輸出總共被感染的人數。

輸入輸出樣例

輸入樣例1#:

7 61 2

1 32 4

2 53 6

3 7輸出樣例1#:

第一次寫沒有a,真的是非常的不爽,自己先想了乙個方法判斷該子樹父親有沒有被刪,結果果然有問題,70分,令我十分的不愉快。

這道題就是爆搜,先預處理每層的點,搜尋,還有就是當前點被刪除後,後面子樹內不必再刪,這是剪枝,好水的水過了呵呵。

**:

1

dfs3 #include4 #include5 #include6

using

namespace

std;

7 inline int

read();

8int min(int x,int y)

9namespace

lyse[n*3

];15

intfl[n][n],num[n],pre[n],fa[n],siz[n];

16bool

del[n];

17int

n,p,cnt,ans;

18int find(int

x)23

void add(int x,int

y)27

void built(int node,int

deep)38}

39void dfs(int deep,int

now)

44bool flag=true;45

for(int i=1,v;i<=num[deep];i++)

53if

(flag)57}

58int

main()

66 ans=n;

67 built(1,1

);68 dfs(2

,n);

69 printf("

%d\n

",ans);

70return0;

71}72}

73int

main()

77 inline int

read()

84while(c>='

0'&&c<='

9') kk=kk*10+c-'

0',c=getchar();

85return kk*ff;

86 }

luoguP1041 傳染病控制 x

近來,一種新的傳染病肆虐全球。蓬萊國也發現了零星感染者,為防止該病在蓬萊國大範圍流行,該國 決定不惜一切代價控制傳染病的蔓延。不幸的是,由於人們尚未完全認識這種傳染病,難以準確判別病毒攜帶者,更沒有研製出疫苗以保護易感人群。於是,蓬萊國的疾病控制中心決定採取切斷傳播途徑的方法控制疾病傳播。經過 wh...

Luogu P1041 傳染病控制 搜尋

p1041 傳染病控制 近來,一種新的傳染病肆虐全球。蓬萊國也發現了零星感染者,為防止該病在蓬萊國大範圍流行,該國 決定不惜一切代價控制傳染病的蔓延。不幸的是,由於人們尚未完全認識這種傳染病,難以準確判別病毒攜帶者,更沒有研製出疫苗以保護易感人群。於是,蓬萊國的疾病控制中心決定採取切斷傳播途徑的方法...

P1041 傳染病控制

題目背景 近來,一種新的傳染病肆虐全球。蓬萊國也發現了零星感染者,為防止該病在蓬萊國大範圍流行,該國 決定不惜一切代價控制傳染病的蔓延。不幸的是,由於人們尚未完全認識這種傳染病,難以準確判別病毒攜帶者,更沒有研製出疫苗以保護易感人群。於是,蓬萊國的疾病控制中心決定採取切斷傳播途徑的方法控制疾病傳播。...