時空限制 1000ms/128mb
原始部落byteland中的居民們為了爭奪有限的資源,經常發生衝突。幾乎每個居民都有他的仇敵。部落酋長為了組織一支保衛部落的隊伍,希望從部落的居民中選出最多的居民入伍,並保證隊伍中任何2 個人都不是仇敵。
給定byteland部落中居民間的仇敵關係,程式設計計算組成部落衛隊的最佳方案。
輸入格式:
第1行有2個正整數n和m,表示byteland部落中有n個居民,居民間有m個仇敵關係。居民編號為1,2,…,n。接下來的m行中,每行有2個正整數u和v,表示居民u與居民v是仇敵。
輸出格式:
第1行是部落衛隊的人數;檔案的第2行是衛隊組成x i,1≤i≤n,xi =0 表示居民i不在衛隊中,xi=1表示居民i在衛隊中。
輸入樣例#1:
7 10輸出樣例#1:1 2
1 4
2 4
2 3
2 5
2 6
3 5
3 6
4 5
5 6
360%資料:n<=20,m<=1001 0 1 0 0 0 1
所有資料:n<=100,m<=3000
#includeusing namespace std;
const int n = 105;
int n,m,ans;
bool a[n][n],b[n],c[n];
bool check(int x)
void dfs(int x,int k)
return;
} if (k+n-x+1>n>>m;
for (int i=1,x,y; i<=m; i++)
dfs(1,0);
cout
ireturn 0;
}
洛谷 P1692 部落衛隊
p1692 部落衛隊 洛谷 題目描述 原始部落byteland中的居民們為了爭奪有限的資源,經常發生衝突。幾乎每個居民都有他的仇敵。部落酋長為了組織一支保衛部落的隊伍,希望從部落的居民中選出最多的居民入伍,並保證隊伍中任何2 個人都不是仇敵。給定byteland部落中居民間的仇敵關係,程式設計計算組...
洛谷 P1692 部落衛隊(dfs) 題解
原始部落byteland中的居民們為了爭奪有限的資源,經常發生衝突。幾乎每個居民都有他的仇敵。部落酋長為了組織一支保衛部落的隊伍,希望從部落的居民中選出最多的居民入伍,並保證隊伍中任何2 個人都不是仇敵。給定byteland部落中居民間的仇敵關係,程式設計計算組成部落衛隊的最佳方案。輸入格式 第1行...
7 6 部落衛隊問題 20分
原始部落byteland中的居民們為了爭搶有限的資源,經常發生衝突。幾乎每個居民都有它的仇敵。部落酋長為了組織一支保衛部落的隊伍,希望從部落的居民中選出最多的居民入伍,並保證隊伍中任何兩個人都不是仇敵。第一行兩個正整數n和m,表示byteland部落中有n個居民,居民間有m個仇敵關係,0輸出部落衛隊...