日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[codevs 1232] 飞行员配对方案问题

發(fā)布時(shí)間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [codevs 1232] 飞行员配对方案问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[codevs 1232] 飛行員配對方案問題


題解:

做法一:二分圖最大匹配。 做法二:用網(wǎng)絡(luò)流求解二分圖最大匹配...
但是都卡在輸出路徑上面。。。糾結(jié)要不要直接交數(shù)據(jù),反正我有。。。

代碼(未AC):

#include<cstdio> #include<cstring> using namespace std;const int maxn = 100 + 10;int x[maxn], y[maxn], m, n; bool vis[maxn], g[maxn][maxn];int dfs(int u) {for(int v = n; v >= 1; v--)if(g[u][v] && !vis[v]) {vis[v] = true;if(y[v] == -1 || dfs(y[v])) {x[u] = v;y[v] = u;return 1;}}return 0; }int main() {int u, v, ans = 0;scanf("%d%d", &m, &n);while(scanf("%d%d",&u,&v), u != -1 && v != -1)g[u][v] = g[v][u] = true;memset(x, -1, sizeof(x));memset(y, -1, sizeof(y));for(int i = 1; i <= m; i++) {memset(vis, 0, sizeof(vis));ans += dfs(i);}if(ans) {printf("%d\n", ans);for(int i = 1; i <= m; i++) if(x[i] > 0) printf("%d %d\n", i, x[i]);}else printf("No Solution!"); }

總結(jié)

以上是生活随笔為你收集整理的[codevs 1232] 飞行员配对方案问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。