P1330 封鎖陽光大學

2022-04-30 02:12:09 字數 621 閱讀 4991

兩個和諧河蟹不能在同一條邊的兩端。所以對於每條邊。只有乙個節點有和諧河蟹

所以說,我們可以將有和諧河蟹的看做一種顏色,或則是狀態。沒有河蟹看做另一種言顏色

這樣邊變成了二分圖染色

所以嗯~(・∀・)

就可以dfs暴力染色,不過要注意。有可能有多個圖

#include#include#includeusing namespace std;

struct node

;//鍊錶

node line[201000];

int head[10100],tail;

void add(int a,int b)

int color[10100];//染色

int turn[3]=;//顏色轉換

int t[3];//每種顏色的使用次數

bool flag=false;

void dfs(int x,int c)

need=line[need].nxt; }}

int main()

int ans=0;

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

}} printf("%d",ans);

}

P1330 封鎖陽光大學

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

P1330 封鎖陽光大學

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

P1330 封鎖陽光大學

依題意可知,在圖中的每一條邊有且只有乙個點被選中 阻止老曹刷街 那麼就可以對其採取二分圖染色,一條邊中 乙個點為黑色,另乙個點為白色 如果一條邊中的兩個端點的顏色相同,則說明無解,輸出 ipossible 如果有解,就把白點的數目和黑點的數目取 min 即為答案。include include in...