u005 封鎖陽光大學

2022-09-14 18:27:11 字數 1984 閱讀 1974

time limit: 1 second

memory limit: 128 mb

【問題描述】

曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。 陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上刷街了。非常悲劇的一點是,河蟹是一種不和諧的生物,當兩隻河蟹封鎖了相鄰的兩個點時,他們會發生衝突。 詢問:最少需要多少只河蟹,可以封鎖所有道路並且不發生衝突。

【輸入格式】

第一行:兩個整數n,m 接下來m行:每行兩個整數a,b,表示點a到點b之間有道路相連。

【輸出格式】

如果不能夠對大學進封鎖,則輸出impossible,否則輸出所需要的最小河蟹數目。

【資料規模】

1<=n<=10000,1<=m<=100000,任意兩點之間最多有一條道路。

sample input1

3 3

1 2

1 3

2 3sample output1

impossible

sample input2

3 2

1 2

2 3

sample output2

1簡單的方法是對所有點進行染色。

如上圖。在相同的顏色處放河蟹。即可佔據所有的道路。且不會發生衝突。即相鄰點染成不同的顏色。

然後要求最小。就要看在0處放河蟹放得比較少還是在1處會放得比較少。取其中的較小值即可。

然後可能會有多個子圖的情況。注意一下即可。

染色可以用廣搜進行。順便可以判斷會不會出現impossible的情況。

#include 

#include

#include

struct node//很久沒打煉表了。練一下。

;int n, m,color[10001],dl[10001],final_ans = 0;//color是給每個點染的顏色。

node *head[10001],*tail[10001];//表示鄰接表的頭結點和尾節點。

bool bo[10001] = ;//判斷某個點是否染色過。

void input_data();

void add(int,int);

void get_ans();

int bfs(int);

void output_ans();

int main()

void output_ans()//輸出最後的答案。

int bfs(int key)//從key點開始廣搜進行染色。

else

if (color[y] == color[x])//如果出度已經染過色且顏色發生衝突。則輸出不可能

temp = temp->next;//尋找下乙個出度。}}

int ans[2];//算出把河蟹放在顏色0和顏色1分別所需要的數目

ans[0] = 0; ans[1] = 0;

for (int i = 1; i <= t; i++)

ans[color[dl[i]]]++;

if (ans[0] > ans[1])//返回其中的較小值 bfs是乙個返回int的函式。

return ans[1];

else

return ans[0];

}void get_ans()

void add(int x, int y)//加入一條邊,從x->y,然後執行add(x,y),add(y,x)就變成無向邊了。

void input_data()

for (int i = 1; i <= m; i++)//輸入圖的資訊。

}

封鎖陽光大學

description 曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了...

封鎖陽光大學

曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上...

C P1330 封鎖陽光大學

曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上...