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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【HDU - 2444】The Accomodation of Students(二分图判断 + 匈牙利算法求最大匹配)

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【HDU - 2444】The Accomodation of Students(二分图判断 + 匈牙利算法求最大匹配) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題干:

There are a group of students. Some of them may know each other, while others don't. For example, A and B know each other, B and C know each other. But this may not imply that A and C know each other.?

Now you are given all pairs of students who know each other. Your task is to divide the students into two groups so that any two students in the same group don't know each other.If this goal can be achieved, then arrange them into double rooms. Remember, only paris appearing in the previous given set can live in the same room, which means only known students can live in the same room.?

Calculate the maximum number of pairs that can be arranged into these double rooms.?

Input

For each data set:?
The first line gives two integers, n and m(1<n<=200), indicating there are n students and m pairs of students who know each other. The next m lines give such pairs.?

Proceed to the end of file.?
?

Output

If these students cannot be divided into two groups, print "No". Otherwise, print the maximum number of pairs that can be arranged in those rooms.?

Sample Input

4 4 1 2 1 3 1 4 2 3 6 5 1 2 1 3 1 4 2 5 3 6

Sample Output

No 3

題目大意:

有n個學生。其中有些人相互認識,有些人相互之間不認識。現在有m對認識關系。問你能否把這n個人分成兩個組。一個組中沒有相互認識的人。如果不能做到的話,輸出NO。如果可以的話,把這些人分到一些房間中,只有相互認識的人能分到一個房間里。問你需要多少房間。
?

解題報告:

? ?這是判斷二分圖和二分圖匹配的裸題。

首先要判斷該圖是否為二分圖。當該圖為二分圖時,才能分為兩個組。當判斷為二分圖時,我們需要求出該二分圖的最大匹配數目。得出的結果除2就得出了需要房間數。(或者只對col==1的進行find匹配,這樣就不需要除以2了。)

二分圖的判定:
? ? 在判定一個圖是否為二分圖的時候只需要進行判斷圖中是否存在奇數長度的回路
? ? 常用的辦法是基于BFS的相鄰染色法 即對任意一個點進行BFS如果uv之間有一條邊 我們從u訪問到v 如果v未被染色 則v將被染成和u相對的染色(比如1和0)
? ?判斷出口:如果相鄰節點(u和v)是相同顏色 則存在奇回路

? ?還有個優化(但是貌似沒卵用),就是used數組不是bool的,設成int,然后每次就不需要置零used了,直接看是否等于i就可以了,相當于find中兩個參數find(i,i),其中bool find(int x,int id),看是否是id,就可以看出是否是

AC代碼:

#include<bits/stdc++.h> using namespace std; int nxt[205]; int col[205]; bool used[205]; int n,m; vector<int> vv[205]; bool bfs() {memset(col,-1,sizeof col);queue<int> q;q.push(1);col[1] = 1;while(!q.empty()) {int cur = q.front();q.pop();for(int i = 0; i<vv[cur].size(); i++) {int now = vv[cur][i];if(col[now] == -1) {col[now] = !col[cur];q.push(now);}else {if(col[now] == col[cur]) return 0;}}} return 1; } bool find(int x) {for(int i = 0; i<vv[x].size(); i++) {int now = vv[x][i];if(used[now] == 1) continue;used[now] = 1;if(nxt[now] == 0 || find(nxt[now])) {nxt[now] = x;return 1;}}return 0 ; } int main() {int u,v,ans;while(~scanf("%d%d",&n,&m)) {memset(nxt,0,sizeof nxt);for(int i = 0; i<=200; i++) vv[i].clear();for(int i = 1; i<=m; i++) {scanf("%d%d",&u,&v);vv[u].push_back(v);vv[v].push_back(u);}if(!bfs()) {puts("No");continue;}ans = 0;for(int i = 1; i<=n; i++) {memset(used,0,sizeof used);if(find(i)) ans++;}printf("%d\n",ans/2);}return 0; }

總結:

? ?1WA了,因為忘記了清空vv和nxt數組。

總結

以上是生活随笔為你收集整理的【HDU - 2444】The Accomodation of Students(二分图判断 + 匈牙利算法求最大匹配)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久国产精品亚洲 | av资源免费观看 | 狠狠躁日日躁 | 中文字幕少妇在线三级hd | 爱爱亚洲 | 激情综合色 | 少妇人妻互换不带套 | xxxwww国产 | 日韩精品成人 | 蘑菇福利视频一区播放 | 婷婷久久精品 | 丁香六月婷婷综合 | 中文字幕88页 | 午夜激情国产 | 探花国产精品一区二区 | 亚洲免费网站在线观看 | 亚洲精品理论 | 久久精品欧美一区二区三区不卡 | av三级在线播放 | 青青av| 亚洲精品小说 | 国产五十路 | 免费看黄色网址 | 国产精品正在播放 | 国产做爰全过程免费视频 | 国产精品美女在线 | 日韩videos | 无码人妻一区二区三区线 | 在线国产区 | 丝袜美女av | 亚洲热在线观看 | 男同志毛片特黄毛片 | 国产福利视频一区二区三区 | 天天射天天搞 | 精品二区视频 | 亚洲精品乱码久久久久久久久久久久 | 亚洲精品ww| 性欧美日本 | 夜夜骑狠狠干 | 91激情在线观看 | 秋霞国产精品 | 欧洲人妻丰满av无码久久不卡 | 免费啪啪网 | 中文字幕伊人 | 免费看日韩av | 最新中文字幕视频 | 日本a大片| 相亲对象是问题学生动漫免费观看 | 好吊视频在线观看 | 亚洲精品国产精品乱码不99热 | 免费欧美一级视频 | 精品国产乱码久久久久久蜜臀网站 | www.婷婷| 日本黄页视频 | 欧美性一区 | 免费av网站观看 | 波多野结衣视频免费在线观看 | av黄色在线观看 | 国产婷婷色综合av蜜臀av | 男女无遮挡做爰猛烈视频 | 日本少妇xxxxxx | 制服丝袜在线一区 | 激情文学综合网 | 亚洲美女毛片 | 欧美午夜性 | 午夜在线精品 | 日韩不卡一二三 | 婷婷综合另类小说色区 | 一区二区在线观看免费视频 | 色黄大色黄女片免费中国 | av动漫网站 | 亚洲一区精品视频 | 欧美少妇bbw | 国产日本欧美一区二区 | 亚洲黄网在线观看 | 你懂的在线免费观看 | 亚洲干综合 | 天堂av片| 亚洲特黄一级片 | 日韩理论片在线观看 | 99极品视频 | 久热青草| 天天色av| 亚洲爱爱爱 | 亚洲一区欧洲一区 | 欧美成人一区在线 | 中文字幕1 | 欧美影视 | 亚洲看片网 | 日日噜噜夜夜狠狠久久丁香五月 | 80日本xxxxxxxxx96| 少妇人妻一区二区三区 | 欧美a久久 | 欧美日韩一级片在线观看 | 91精品国产综合久久久密臀九色 | 四虎一区二区三区 | 一区二区日本视频 | 丁香激情五月少妇 | 又黄又爽无遮挡 |