問題描述樣例輸入給定乙個n個點m條邊的無向圖g(點的編號從1至n),問是否存在乙個不超過k個點的集合s,使得g中的每條邊都至少有乙個點在集合s中。
輸入格式 輸入的第一行包含乙個整數t,表示資料的組數。 接下來t組資料中:每組輸入的第一行包含三個整數n, m,
k,分別表示圖的點數,邊數,集合點數的最大值。接下來m行,每行2個正整數x,y,表示編號為 x 的節點與編號為 y 的節點間有一條邊相連。
輸出格式
對於每組測試資料,若其存在解,則將解輸出出來:第一行為乙個整數t,表示所選點集的大小;第二行為t個整數,表示所選的點的編號。如果存在多組解,只要輸出其中一種方案即可(會有special
judge程式對你的輸出進行檢查)。 若該組測試資料不包含解,則輸出乙個數-1(一行)。
2108
3647
2747
6939
510610
91082
6472
7476
9395
106109
樣例輸出
367
9-1
資料規模和約定 對於80%的資料,滿足 0根據邊來遞迴,然後討論兩個點是否要選。
#include
#include
#include
#include
#include
#include
using
namespace std;
const
int n=
105;
const
int inf=
0x3f3f3f3f
;int vis[n]
,n,m,k;
struct nodes[
5005];
intdfs
(int pos,
int num)
elseif(
dfs(pos+
1,num)
)return0;
}int
main()
if(dfs(0,
0))printf
("%d\n"
,ans)
;for
(i=1
;i<=n;i++)}
else
puts
("-1");
printf
("\n");
}return0;
}
試題 演算法提高 斷案
問題描述 公安人員審問甲 乙 丙 丁四個嫌疑犯,已確知,這四個人當中僅有一人是偷竊者,還知道這四個人的答話,要麼完全誠實,要麼完全說謊。在回答公安人員的問話中 甲說 乙沒有偷,是丁偷的。乙說 我沒有偷,是丙偷的。丙說 甲沒有偷,是乙偷的。丁說 我沒有偷,我用的那東西是我家裡的。請根據上述四人答話,判...
試題 演算法提高 成績排序
藍橋杯習題答案彙總 資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給出n個學生的成績,將這些學生按成績排序,排序規則,優先考慮數學成績,高的在前 數學相同,英語高的在前 數學英語都相同,語文高的在前 三門都相同,學號小的在前 輸入格式 第一行乙個正整數n,表示學生人數 接下來n...
試題 演算法提高 拿糖果
問題描述 媽媽給小b買了n塊糖!但是她不允許小b直接吃掉。假設當前有m塊糖,小b每次可以拿p塊糖,其中p是m的乙個不大於根號下m的質因數。這時,媽媽就會在小b拿了p塊糖以後再從糖堆裡拿走p塊糖。然後小b就可以接著拿糖。現在小b希望知道最多可以拿多少糖。輸入格式 乙個整數n 輸出格式 最多可以拿多少糖...