麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

穩定婚姻問題(The Stable Marriage Problem)

2019-11-10 20:05:04
字體:
來源:轉載
供稿:網友

RT,該問題可解決n男n女配對問題:每個人有自己理想對象排名,而要使配對后不存在一對男女不是配偶且對于彼此的好感優于當前配偶。 算法流程: 1.每一輪未訂婚的男士向其未求過婚的女士求婚; 2.女士若有男士X向其求婚,如該女士之前沒有未婚夫,則直接將男士X作為該女士臨時的未婚夫,如已有未婚夫且對該男士X的好感比未婚夫更高,則把未婚夫甩了,重新加入單身狗隊列,把X作為未婚夫。 不斷執行上述過程,知道所有男士均找到配偶為止。時間:O(n^2)

看上去對男士有點殘酷,但事實上這樣的流程可以保證男士當前的配偶為可以找到的最好伴侶,畢竟之前求婚都已經被拒絕;而女士只會找到可能找到最差的配偶,至于證明這里略去(好吧,其實是我不會,有興趣的可以看看這篇文章http://blog.sina.com.cn/s/blog_8897e5420101bdr4.html)。 上代碼:

//POJ3487#include <cstdio>#include <algorithm>#include <cstring>#define maxn 30#include <queue>using namespace std;int wife[maxn],now[maxn],husband[maxn],w[maxn],m[maxn],T,n,m_like[maxn][maxn],w_rank[maxn][maxn];queue <int> q;void engage(int man,int woman)//定下臨時的配偶 { int tmp=husband[woman]; if (tmp!=-1) { q.push(tmp);//甩了要重新求婚~~~ wife[tmp]=-1; } wife[man]=woman; husband[woman]=man;}int main(){ scanf("%d",&T); while (T--) { scanf("%d/n",&n); memset(w,0,sizeof(w)); memset(m,0,sizeof(m)); char x; for (int i=0;i<n;i++) scanf("%c ",&x),w[x-'a']=1; for (int i=0;i<n;i++) scanf("%c ",&x),m[x-'A']=1; for (int i=0;i<n;i++) { char ch=getchar(),c; while (ch<'a'||ch>'z') ch=getchar(); c=getchar(); for (int j=0;j<n;j++) c=getchar(),m_like[ch-'a'][j]=c-'A';//男i第j喜歡的為m_like[i][j] q.push(ch-'a');now[ch-'a']=0;wife[ch-'a']=-1; } for (int i=0;i<n;i++) { char ch=getchar(),c; while (ch<'A'||ch>'Z') ch=getchar(); c=getchar(); for (int j=0;j<n;j++) c=getchar(),w_rank[ch-'A'][c-'a']=j;//女i喜歡的j排名為w_rank[i][j] husband[ch-'A']=-1; } while (!q.empty()) { int man=q.front();q.pop(); int woman=m_like[man][now[man]++]; if (husband[woman]==-1) engage(man,woman);//未訂婚 else if (w_rank[woman][man]<w_rank[woman][husband[woman]]) engage(man,woman);//更優則甩了當前未婚夫 else q.push(man);//求婚失敗 } //while (!q.empty()) q.pop(); for (int i=0;i<n;i++) if (m[i])
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久吊| 一级免费看片 | 久久91精品国产91久久yfo | 黄视频网站免费观看 | 一级看片免费视频 | 久草视频2 | 日本娇小videos高潮 | 国产一级免费在线视频 | 国产精品久久久久久久久久10秀 | 桥本有菜免费av一区二区三区 | 少妇色诱麻豆色哟哟 | 欧美日韩免费一区 | 日本黄色大片免费 | 久久精品亚洲一区二区三区观看模式 | 日韩精品羞羞答答 | 久久蜜桃香蕉精品一区二区三区 | 国产成人在线网站 | 少妇一级淫片免费看 | 高清国产福利 | 久久狠狠高潮亚洲精品 | 91av大片| 精品中文字幕在线播放 | 13一14毛片免费看 | 99激情| 久久羞羞 | 视频一区 在线 | 91看片在线观看视频 | 成人性生活视频在线播放 | 国产亚洲精品久久午夜玫瑰园 | 亚洲一区二区不卡视频 | 99最新网址 | 福利在线免费 | 久久精品视频一区二区 | 电影av在线 | h色网站在线观看 | 91精品片| 深夜免费福利视频 | 欧美视频一区二区三区 | 欧美 国产 综合 | 一区二区三区欧洲 | 黄色特级毛片 |