zoukankan      html  css  js  c++  java
  • 稳定婚姻匹配问题模板

    用于:

    给出所有男的和女的 对对方的好感度 

    要求不出现:

    如果a与b匹配   c与d匹配     但是a相比b来说更加爱c  且c相比d来说更加爱a

    主要需要处理的是两个数组

    boy[i][j]  第i个男的的第j个喜欢的女的的编号

    girl[i][j] 第i个女的 对第j个男的的好感度

    #include<bits/stdc++.h>
    using namespace std;
    #define N 1000
    
    int rank1[N];//归零
    int match_boy[N],match_girl[N];//匹配情况
    int boy[N][N],girl[N][N];//已说明
     
     
    int gs()
    {
            memset(match_boy,0,sizeof match_boy);
            memset(match_girl,0,sizeof match_girl);
            memset(rank1,0,sizeof rank1);
    
            while(flag)
            {
                flag=0;
                for(int i=1;i<=n;i++)
                {
                    if(!match_boy[i])
                    {
                        int temp=boy[i][rank1[i]++];
                        if(!match_girl[temp])
                          match_boy[i]=temp,match_girl[temp]=i;
                         else if( girl[temp][i]>girl[temp][match_girl[temp]] )
                           {
                               match_boy[ match_girl[temp] ]=0;
                                match_boy[i]=temp;
                                match_girl[temp]=i;
                           }
                           flag=1;
                    }
                }
            }
    }
  • 相关阅读:
    oracle重命名数据库
    GridView分页的实现
    vb发post信息,非常简单,就一个函数
    第六周进度条
    软件工程作业
    进度条第五周
    四则运算设计03
    进度条03
    单元测试课堂作业
    个人作业02
  • 原文地址:https://www.cnblogs.com/bxd123/p/10392259.html
Copyright © 2011-2022 走看看