几对男女   给出每个人心中的优先级   进行最合理的匹配

要打印名字的话必须有一个名字数组

英文名用map

稳定婚姻问题:

每次循环遍历所有的男的

每个男的对目前未被拒绝的并且优先级最高的进行预匹配  如果1女的没有伴侣2女的对该男的好感度比女的伴侣的好感度更高   满足任意一个则进行匹配

不断循环直到所有男的都有伴侣

#include<cstdio>
#include<string>
#include<map>
#include<iostream>
#include<cstring>
using namespace std;
#define N 20 map<string,int>mp_boy,mp_girl;
int girl[N][N],boy[N][N];//girl数组存放  第i个女对第j个男的好感度   boy数组存放第i个男的第j优先好感度为谁
int match_girl[N],match_boy[N];
string name_boy[N],name_girl[N];
int rank1[N]; int main()
{
mp_boy.clear();mp_girl.clear();
int n;
while(scanf("%d",&n)==)
{
string name,str;
int cnt=;
for(int i=;i<=n;i++)
{
cin>>name;
mp_boy[name]=i;
name_boy[i]=name;
for(int j=;j<=n;j++)
{
cin>>str;
int t=mp_girl[str];
if(!t)
mp_girl[str]=t=++cnt,name_girl[cnt]=str;
boy[i][j]=t;
}
}
for(int i=;i<=n;i++)
{
cin>>name;
for(int j=;j<=n;j++)
{
cin>>str;
int t=mp_boy[str];
girl[ mp_girl[name] ][t]=n-j;
}
}
memset(match_boy,,sizeof match_boy);
memset(match_girl,,sizeof match_girl);
memset(rank1,,sizeof rank1); int flag=;
while(flag)
{
flag=;
for(int i=;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] ]=;
match_boy[i]=temp;
match_girl[temp]=i;
}
flag=;
}
}
}
for(int i=;i<=n;i++)
cout<<name_boy[i]<<" "<<name_girl[ match_boy[i] ]<<endl;
}
}

Marriage is Stable HDU1522 稳定婚姻问题基础的更多相关文章

  1. HDU 1522 Marriage is Stable 【稳定婚姻匹配】(模板题)

    <题目链接> 题目大意: 给你N个男生和N个女生,并且给出所有男生和女生对其它所有异性的喜欢程度,喜欢程度越高的两个异性越容易配对,现在求出它们之间的稳定匹配. 解题分析: 稳定婚姻问题的 ...

  2. HDU1522 稳定婚姻匹配 模板

    Marriage is Stable Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  3. 【POJ 3487】 The Stable Marriage Problem (稳定婚姻问题)

    The Stable Marriage Problem   Description The stable marriage problem consists of matching members o ...

  4. POJ 3487 The Stable Marriage Problem(稳定婚姻问题 模版题)

    Description The stable marriage problem consists of matching members of two different sets according ...

  5. 【转】稳定婚姻问题(Stable Marriage Problem)

    转自http://www.cnblogs.com/drizzlecrj/archive/2008/09/12/1290176.html 稳定婚姻是组合数学里面的一个问题. 问题大概是这样:有一个社团里 ...

  6. 【HDU1914 The Stable Marriage Problem】稳定婚姻问题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1914 题目大意:问题大概是这样:有一个社团里有n个女生和n个男生,每位女生按照她的偏爱程度将男生排序, ...

  7. 【稳定婚姻问题】【HDU1435】【Stable Match】

    2015/7/1 19:48 题意:给一个带权二分图  求稳定匹配 稳定的意义是对于某2个匹配,比如,( a ---- 1) ,(b----2) , 如果 (a,2)<(a,1) 且(2,a)& ...

  8. hdoj1435 Stable Match(稳定婚姻问题)

    简单稳定婚姻问题. 题目描述不够全面,当距离相同时容量大的优先选择. 稳定婚姻问题不存在无解情况. #include<iostream> #include<cstring> # ...

  9. POJ3487[稳定婚姻]

    The Stable Marriage Problem Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2974 Accepted ...

随机推荐

  1. Vitrualbox 桥接网卡界面名称未指定、Filters currently installed on the system have reached the limit、不能为虚拟电脑 打开一个新任务

    1. 桥接网卡界面名称未指定 http://wenku.baidu.com/link?url=VFG0hknsDX3VPXQoX5f-g1wUX_LBl-lOj0ZqD222kM31iVCPJKVu3 ...

  2. Java中list如何利用遍历进行删除操作

    转: Java中list如何利用遍历进行删除操作 2018年03月31日 10:23:41 Little White_007 阅读数:3874   Java三种遍历如何进行list的便利删除: 1.f ...

  3. 烦人的IE7、8,半透明滤镜(filter:alpha)失效、png半透明失效的解决办法

    在项目中的问题,之前用的是用IETest测试IE7,8发现背景透明设置无效,后来找文章解决!看了一些资料,做下总结. 几种IE半透明CSS样式 IE8里可以这样写 -ms-filter:”progid ...

  4. Swift学习笔记1

    1.Swift 的String类型是值类型. 如果您创建了一个新的字符串,那么当其进行常量.变量赋值操作,或在函数/方法中传递时,会进行值拷贝. 任何情况下,都会对已有字符串值创建新副本,并对该新副本 ...

  5. bzoj千题计划210:bzoj2642 | Poj3968 | UVALive 4992| hdu 3761 Jungle Outpost

    http://www.lydsy.com/JudgeOnline/problem.php?id=2642 题意: n个瞭望台,形成一个凸n边形.这些瞭望台的保护范围是这个凸包内的任意点. 敌人进攻时, ...

  6. LaTeX字体设置

    % 导言区 % 帮助文档 texdoc lshort-zh % 设置normalsize大小 \documentclass[10pt]{ctexart} %article,ctexbook封面, ct ...

  7. Does Deep Learning Come from the Devil?

    Does Deep Learning Come from the Devil? Deep learning has revolutionized computer vision and natural ...

  8. Struts2_day01

    一.内容大纲 1 struts2概述 (1)应用在web层 2 struts2入门案例 3 struts2底层执行过程 4 struts2相关配置 (1)struts.xml配置 - package. ...

  9. php-url地址加密

    下面是可以将我们的url地址加密.确保我们提交的数据安全 以下是代码片段: <?php function keyED($txt,$encrypt_key) //定义一个keyED { $encr ...

  10. iOS数据库操作之coredata详细操作步骤

    CHENYILONG Blog iOS数据库操作之coredata详细操作步骤 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/ ...