luogu P1330 封鎖陽光大學

2022-02-28 02:36:36 字數 1161 閱讀 5463

曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。

陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上刷街了。非常悲劇的一點是,河蟹是一種不和諧的生物,當兩隻河蟹封鎖了相鄰的兩個點時,他們會發生衝突。

詢問:最少需要多少只河蟹,可以封鎖所有道路並且不發生衝突。

輸入格式:

第一行:兩個整數n,m

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

輸出格式:

僅一行:如果河蟹無法封鎖所有道路,則輸出「impossible」,否則輸出乙個整數,表示最少需要多少只河蟹。

輸入樣例#1:

【輸入樣例1】

3 31 2

1 32 3

【輸入樣例2】

3 21 2

2 3

輸出樣例#1:

【輸出樣例1】

impossible

【輸出樣例2】

1

【資料規模】

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

黑白染色,搜到下乙個節點與本節點相同時說明無法完成

注意有多個聯通塊

#include#include

#include

using

namespace

std;

#define n 100003

struct

nodeedge[n*10

];int head[n],n,m;int num=0

;int

vis[n];

void add_edge(int x,int

y)int

ans,ans1,ans2;

void dfs(int

x)

if(!vis[v])

}}int

main()

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

}printf(

"%d\n

",ans);

return0;

}

luogu P1330 封鎖陽光大學

emmmm 下午被dtx大佬強迫 用詞似乎不當?去做 他tql!然鵝最終還是他給我講的www 所以這其實是一道圖的遍歷 但是我有搜尋恐懼症啊啊啊看到搜尋整個人都慌了 而且看題面 這道題還有乙個仔細想想就能想出來的點 就是每一條邊的兩個點,一定是乙個有河蟹,乙個沒有的 所以標記一下就比較好判斷了 然後...

luogu P1330 封鎖陽光大學

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

luogu P1330 封鎖陽光大學 題解

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