稳定匹配问题(脱单就靠这波了)

稳定匹配问题探讨,通过男女好感度排名寻找完美匹配。在匹配过程中避免不稳定配对,确保每个人与更喜欢自己的人结合,形成全局最优的恋爱匹配方案。算法逻辑以C语言实现,旨在实现恋爱中的稳定与公平。
摘要由CSDN通过智能技术生成

稳定匹配问题之三国

首先,我们先看看问题:

有n个男人和n个女人(n>=2),每个男人对所有女人有一个好感度排名,每个女人对所有男人也有一个好感度排名。将男女两两配对,得到n对男女,称之为一个完美匹配。如果有一组男女A和B,他们在匹配中没有被配对,且对对方的好感度均大于对现有配偶的好感度(男人A觉得女人B好过现在的妻子C,女人B觉得A好过现在的丈夫D),则称之为一个不稳定配对。如果一个完美匹配中没有不稳定配对,则称改匹配为一个稳定匹配。

男对女|女对男
左图是男对女的好感度,右图是女对男的好感度
思路:
首先,拿到这个题,一次性写出是不现实的,也就是说,这其实也就是一个不断尝试的过程,也就是说,我们匹配之后,需要对已经匹配的序列确保排序没有问题,达到稳定匹配,当然想选择和自己最喜欢的人在一起了,但是,最为上帝,得考虑到全局,也就是说大家尽量都是彼此更爱的人,没有一个你爱的人他身边的人更爱的你身边的人,你身边的人更爱他身边的人。哈哈哈哈,有点绕了。但是我们的目的也就是找出一个稳定匹配。

#include<stdio.h>
#include<stdlib.h>
#define num 5

int m[num][num]={
   {
   0,1,2,4,3},{
   0,2,1,3,4},{
   4,0,2,1,3},{
   2,1,3,0,4},{
   2,0,1,3,4}};
//男生对女生的偏爱程度
int w[num][num]={
   {
   4,0,1,3,2},{
   3,1,2
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值