POJ 1469 COURSES 解題報告

2021-06-26 23:50:14 字數 769 閱讀 6739

求二分圖最大匹配題。題意:有n個學生和p個課程。每個學生都能選擇任意多個課程,也可以不選擇課程。你的任務是確定是否有可能組成這樣的乙個委員會使得

1.每乙個委員會裡的學生都代表一門不同的課程(前提是這個學生選了這門課程)

2.每個課程在委員會裡都有且只有乙個代表

現在給你每個學生選擇的課程,如果能組成這樣的委員會則輸出「yes」,否則輸出「no」。

我的解題思路:求二分圖的最大匹配,如果最大匹配數等於課程數那麼輸出「yes」,否則輸出「no」。

我的解題**:

#include #include #include #include #include using namespace std;

#define n 303

int match[n];

bool vis[n];

vector e[n];

int p, n;

void initread();

void dataprocess();

bool dfs(int x);

int main()

return 0;

}void initread()

}return;

}void dataprocess()

printf("%s\n", ans == p ? "yes" : "no");

return;

}bool dfs(int x)

{ int size = e[x].size();

for (int i=0; i

POJ 1469 COURSES 完備匹配

題意 給定一些學生和課程的關係,問是否每一門課程能唯一對應乙個學生。解法 每一條邊對應乙個選擇關係,問題就是求乙個完備匹配是否存在。如下 include include include include include using namespace std intp,n char g 105 305...

poj 1469 COURSES 解題報告

題目意思 有 n 個人,p個課程,每乙個課程有一些學生參加 0個 1個或多個參加 問 能否使得 p 個課程 恰好與 p 個學生相匹配。受之前第一道匹配題 poj 1274 the perfect stall 的影響,沒有仔細體會是從哪個點匹配到哪個點,這將導致hungary 和 dfs 中 for ...

POJ 1469 排列組合的思維

題意就是說給一列序列.其順序是 1 a 2 b 26 z 27 ab.28 ac.51 az.52 bc.類似這樣.其中的字串都是每一位比前一位大.最長為vwxyz.給出乙個字串.求出其在佇列中的序列號.這道題就是用乙個排列組合.比如求 bdf 求出1位和2為總共有多少個.然後每一位就依次求出前一位...