**&題解參照
這是一題特殊的搜尋題,搜尋和染色結合。
注意事項如下:
一、資料可能給的不連通:要重新遍歷每乙個點,並且需要乙個used陣列表示有沒有搜尋過這個點。
二、這乙個dfs其實不需要回溯,因為染色的情況是唯一確定的,這樣可以快很多。
三、對於不連通的每一部分圖,應該分別計算並且相加結果。
四、還要注意題目中是求最小的,所以應該判斷兩種顏色較小的那一種。
#include using namespace std;
class edge
};edge edge[1000001];
int head[100001];
int cnt;
void add(int u, int v)
int n;
int m;
int used[100001];
int col[100001];
int sum[2];
bool dfs(int node, int color)
int main()
int ans = 0;
for (int i=1; i<=n; i++) //遍歷每乙個節點:防止圖不連通
ans += min(sum[0], sum[1]);
} cout << ans << endl;
return 0;
}
要段考了……有點慌……這幾天必須加緊複習了……
洛谷 P1330 封鎖陽光大學
曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路上...
洛谷 P 1330 封鎖陽光大學
題目描述 曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與...
洛谷 P1330 封鎖陽光大學
曹是乙隻愛刷街的老曹,暑假期間,他每天都歡快地在陽光大學的校園裡刷街。河蟹看到歡快的曹,感到不爽。河蟹決定封鎖陽光大學,不讓曹刷街。陽光大學的校園是 一張由n個點構成的無向圖,n個點之間由m條道路連線。每只河蟹可以對乙個點進行封鎖,當某個點被封鎖後,與這個點相連的道路就被封鎖了,曹就無法在與這些道路...