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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

hdu1914 稳定婚姻问题

發布時間:2025/6/17 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdu1914 稳定婚姻问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ?穩定婚姻問題就是給你n個男的,n個女的,然后給你每個男生中女生的排名,和女生心目中男生的排名,然后讓你匹配成n對,使婚姻穩定,假如a和b匹配,c和d匹配,如果a認為d比b好,同時d也認為a比c好,那么ad就有可能私奔,這樣就導致了婚姻的不穩定,穩定婚姻就是找到一種解決方案讓婚姻穩定
算法:
? ? ? 穩定婚姻的解決方法比較簡單,通俗易懂,而且還容易實現,具體有沒有固定的模板我不知道,沒有去找,自己模擬的,在求解的過程中,我們先把所有的男生都加到隊列里,隊列里的就表示當前還單身的男生,每次從隊列里拿出一個男生,然后從她最喜歡的女生開始匹配,如果當前的女生嘗試追求過,那么就不用追求了,如果當前的女生沒有伴侶,那么可以直接匹配上,如果有伴侶,那么就看看當前這個男生和女生之前的伴侶在那個女生中更喜歡誰,如果更喜歡當先的這個男生,那么當前男生就和這個女生匹配,女生之前匹配過的直接變成單身,被扔回隊列,否則,繼續找下一個女生,知道找到一個能匹配上的為止,就這樣一直到隊列空的時候,就已經全部匹配完成了。


正確性:

? ? ? ? 對于男生來說,每次都是從最喜歡的女生開始匹配的,遇到的第一個沒人能搶走的并且穩定的就是自己最終伴侶,也就是說如果之前追求過的女生被別人搶走了,那么他將永遠搶不會來,因為對于女生來說,第一次被男士按照自己的意愿選擇之后,每次變更匹配對象都是在自己心目中更加喜歡的,所以一旦他放棄了某個男生,那么那個男生就沒希望在和他匹配,這樣男生是從最優的選的,保證男生不會出軌,女生每次都是在選擇她的男生中選擇最優的,這樣也保證了女生最后沒有怨言,這樣的話,最后的到的婚姻就是穩定的,至于穩定婚姻,肯定會有穩定方案,這個我暫時證明不了.<1962年,美國數學家 David Gale 和 Lloyd Shapley是這兩個人發明的方法,并且證明了穩定婚姻一定會有解>。

?

?

#include<stdio.h>
#include<string.h>
#include<queue>
#include<algorithm>

#define N 30

using namespace std;

typedef struct
{
?? char a ,b;
}NODE;

NODE Ans[N];
int map[N][N] ,G_b[N][N];
int nowb[N] ,nowg[N];
char nameb[N] ,nameg[N];
int mark[N][N] ,ID[200];

bool camp(NODE a ,NODE b)
{
?? return a.a < b.a;
}

void Marr(int n)
{
?? queue<int>q;
?? for(int i = 1 ;i <= n ;i ++)
?? q.push(i);
??
?? memset(mark ,0 ,sizeof(mark));
?? memset(nowb ,255 ,sizeof(nowb));
?? memset(nowg ,255 ,sizeof(nowg));
??
?? while(!q.empty())
?? {
????? int xin ,tou = q.front();
????? q.pop();
?????
????? for(int i = 1 ;i <= n ;i ++)
????? {
???????? xin = map[tou][i];
???????? if(mark[tou][xin]) continue;
???????? mark[tou][xin] = 1;
???????? if(nowg[xin] == -1)
???????? {
??????????? nowg[xin] = tou;
??????????? nowb[tou] = xin;
??????????? break;
???????? }
???????? else
???????? {
??????????? if(G_b[xin][tou] > G_b[xin][nowg[xin]])
??????????? {
?????????????? q.push(nowg[xin]);
?????????????? nowg[xin] = tou;
?????????????? nowb[tou] = xin;
?????????????? break;
??????????? }
???????? }
????? }
?? }
?? return ;
}

int main ()
{
?? int t ,n ,i ,j;
?? char str[30];
?? scanf("%d" ,&t);
?? while(t--)
?? {
????? scanf("%d" ,&n);
????? getchar();
????? for(i = 1 ;i <= n ;i ++)
????? {
???????? scanf("%s" ,str);
???????? ID[str[0]] = i;
???????? nameb[i] = str[0];
????? }
????? for(i = 1 ;i <= n ;i ++)
????? {
???????? scanf("%s" ,str);
???????? ID[str[0]] = i;
???????? nameg[i] = str[0];
????? }
????? for(i = 1 ;i <= n ;i ++)
????? {
???????? scanf("%s" ,str);
???????? for(j = 2 ;j <= n + 1 ;j ++)
???????? map[ID[str[0]]][j-1] = ID[str[j]];
????? }
????? for(i = 1 ;i <= n ;i ++)
????? {
???????? scanf("%s" ,str);
???????? for(j = 2 ;j <= n + 1 ;j ++)
???????? G_b[ID[str[0]]][ID[str[j]]] = n - j + 2;
????? }
????? Marr(n);
????? for(i = 1 ;i <= n ;i ++)
????? Ans[i].a = nameb[i] ,Ans[i].b = nameg[nowb[i]];
????? sort(Ans + 1 ,Ans + n + 1 ,camp);
????? for(i = 1 ;i <= n ;i ++)
????? printf("%c %c\n" ,Ans[i].a ,Ans[i].b);
????? if(t) printf("\n");
?? }
?? return 0;
}
?????
?????

?

總結

以上是生活随笔為你收集整理的hdu1914 稳定婚姻问题的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩极品视频 | 国产免费黄色网址 | 国产精品久久久免费观看 | 亚洲第一区av | a在线看 | 99国产精品久久久久久久成人热 | 亚洲成人精品av | 久久有精品 | 成人免费黄色网址 | 寡妇av| 欧美性视频播放 | 欧美成人三级伦在线观看 | 国产精品色在线网站 | 欧美激情性做爰免费视频 | 国产黄色网址在线观看 | 亚洲特黄视频 | 在线观看日韩av电影 | 精品人妻无码一区二区三区换脸 | 男女免费看 | 五月天婷婷在线视频 | 婷婷视频在线观看 | 88国产精品 | 久久人人爽天天玩人人妻精品 | 欧美极品少妇xxxxⅹ猛交 | 九一在线观看免费高清视频 | 一级做a爱片久久毛片 | 国产av成人一区二区三区 | 丁香在线 | 图书馆的女友在线观看 | 69网址 | 免费视频一区二区 | 国产一区二区三区在线看 | 国产网友自拍 | 欧美成人一区二区三区片免费 | 亚洲三区精品 | 成人午夜激情网 | 亚洲国产成人精品无码区99 | 亚洲最大成人在线 | 中文字幕亚洲高清 | 九九av | 欧美亚洲精品在线观看 | 性网址| 秋葵视频在线 | 日本国产精品 | 国产精品亚洲色图 | 狼人综合视频 | 天海翼中文字幕 | 久久观看最新视频 | 午夜在线免费观看视频 | 精品欧美一区二区在线观看 | 美女精品久久 | 国产精品福利小视频 | 欧美成人做爰大片免费看黄石 | 久久一二三四区 | 久久国产福利 | 蘑菇av | 日韩久久免费视频 | 2025国产精品视频 | 婷婷激情视频 | 国产欧美综合一区二区三区 | 国产校园春色 | 色婷婷av一区二区三区gif | 日本一区二区三区视频在线播放 | 欧美黑人性猛交xxxx | 日产久久视频 | a成人在线 | 久久综合中文字幕 | 男女猛烈无遮挡免费视频 | 国产网红无码精品视频 | 欧美国产日韩视频 | 天堂视频网 | 筱田优av | 成人aaa视频 | 国产免费一区二区三区三州老师 | 美女免费黄色 | 91视频网页| 亚洲 日本 欧美 中文幕 | 三级黄色av| 国产一区二区免费看 | 久久久久99人妻一区二区三区 | 日韩成人午夜影院 | 亚洲图片一区二区三区 | 蜜乳av一区二区三区 | 一级片在线观看免费 | 999精品在线| 麻豆成人精品国产免费 | 国产精品无码毛片 | 91香草视频| 婷婷久久综合 | 久久重口味 | 欧美三级大片 | 禁片天堂 | 精品国产无码AV | 国产一区二区三区免费观看视频 | 嫩草在线播放 | 男人添女人下部高潮视频 | 中字幕视频在线永久在线观看免费 | 久久久精品免费观看 | 青青草公开视频 |