国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

poj 3041 Asteroids(二分圖最大匹配)

2019-11-14 11:44:39
字體:
來源:轉載
供稿:網友

把矩陣的的每一行當作一個頂點,每一列當作一個頂點,共兩組頂點。如果點(i,j)有一個障礙,就是i行和j列有交點,也就是點i和點j有一條邊,用最少的點覆蓋所有的邊,就是結果,也就是最小點覆蓋,最小點覆蓋數 = 最大匹配數

#include <cstdio>#include <cstring>const int MAXN = 510;int N,K;int grid[MAXN][MAXN];int linker[MAXN];bool vis[MAXN];bool dfs(int u){ for(int v = 1; v <= N; ++v) { if(!vis[v] && grid[u][v]) { vis[v] = true; if(!linker[v] || dfs(linker[v]) ) { linker[v] = u; return true; } } } return false;}int hungary(){ int res = 0; memset(linker,0,sizeof(linker)); for(int i = 1; i <= N; ++i) { memset(vis,false,sizeof(vis)); if(dfs(i)) ++res; } return res;}int main(){ int a,b; while(scanf("%d %d",&N,&K) != EOF) { memset(grid,0,sizeof(grid)); for(int i = 0; i < K; ++i) { scanf("%d %d",&a,&b); grid[a][b] = 1; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梓潼县| 周至县| 红原县| 巴彦淖尔市| 赤壁市| 乌拉特前旗| 英吉沙县| 兴宁市| 柳河县| 铁岭县| 开远市| 陇南市| 桂阳县| 开阳县| 昌图县| 嘉祥县| 靖远县| 茶陵县| 宜兴市| 锡林郭勒盟| 临猗县| 江西省| 江口县| 南澳县| 兰州市| 江西省| 麟游县| 内黄县| 淮阳县| 大宁县| 南木林县| 诸暨市| 新丰县| 威信县| 黔江区| 碌曲县| 丹棱县| 洮南市| 应城市| 梅州市| 开原市|