http://acm.hdu.edu.cn/showproblem.php?pid=1522

#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
#define me(a,b) memset(a,b,sizeof(a))
#define N 552
typedef long long ll;
using namespace std; int girl[N],boy[N],n,b[N][N],g[N][N];
bool vis[N][N];
string s,e;
map<string,int>bb,gg;
string bbb[N],ggg[N]; void init()
{
me(girl,-);
me(boy,-);
me(vis,);
bb.clear();
gg.clear();
} void stable_march()
{
queue<int>q;
for(int i=;i<n;i++)
q.push(i);
while(!q.empty())
{
int f=q.front();
q.pop();
for(int i=;i<n;i++)
{
int tmp=b[f][i];
if(vis[f][tmp])
{
continue;
}
vis[f][tmp]=;
if(girl[tmp]==-)
{
girl[tmp]=f;
boy[f]=tmp;
break;
}
else if(g[tmp][girl[tmp]]<g[tmp][f])
{
q.push(girl[tmp]);
girl[tmp]=f;
boy[f]=tmp;
break;
}
}
}
} int main()
{
//freopen("in.txt","r",stdin);
while(cin>>n)
{
init();
for(int i=;i<n;i++)
{
cin>>s;
bbb[i]=s;
bb[s]=i;
if(i==)
for(int j=;j<n;j++)
{
cin>>e;
b[i][j]=j;
gg[e]=j;
ggg[j]=e;
}
else
for(int j=;j<n;j++)
{
cin>>e;
b[i][j]=gg[e];
}
}
for(int i=;i<n;i++)
{
cin>>s;
int t=gg[s];
for(int j=n-;j>-;j--)
{
cin>>e;
g[t][bb[e]]=j;
}
}
stable_march();
for(int i=;i<n;i++)
{
cout<<bbb[i]<<' '<<ggg[boy[i]]<<endl;
}
cout<<endl;
}
}

HDU 1522 Marriage is Stable 稳定婚姻匹配的更多相关文章

  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. 【HDU1914 The Stable Marriage Problem】稳定婚姻问题

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

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

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

  5. HDU1914 稳定婚姻匹配

    The Stable Marriage Problem Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (J ...

  6. HDU - 3081 Marriage Match II 【二分匹配】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3081 题意 有n对男女 女生去选男朋友 如果女生从来没和那个男生吵架 那么那个男生就可以当她男朋友 女 ...

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

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

  8. @hdu - 6687@ Rikka with Stable Marriage

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个稳定婚姻匹配问题,其中第 i 个男生与第 j 个女生之间 ...

  9. 最大团&稳定婚姻系列

    [HDU]   1530 Maximum Clique 1435 Stable Match 3585 maximum shortest distance 二分+最大团 1522 Marriage is ...

随机推荐

  1. Tree Traversals Again

    An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example ...

  2. Centos7之系统优化

    优化条目: 修改ip地址.网关.主机名.DNS等 关闭selinux,清空iptables 添加普通用户并进行sudo授权管理 更新yum源及必要软件安装 定时自动更新服务器时间 精简开机自启动服务 ...

  3. lvm再次学习

    目录 LVM构架 分区 pvcreat vgcreat lvcreat 格式化文件系统 挂载至目录 已经学过很多很多遍LVM了,每次都觉得自己学会了,每次都是得查询才能搞定,这次给LVM做个专题,在有 ...

  4. 基础总结(02)--BFC(块级格式化上下文)

    BFC(块级格式化上下文)布局规则 1.元素垂直排列. 2.同一个BFC相邻两个元素的margin会重叠. 3.BFC区域不会与浮动元素重叠. 4.BFC就是页面上的一个隔离的独立容器,容器里面的子元 ...

  5. chmod 755 是李鬼(转)

    (1) 使用ls –l查看文件,前面显示的-rwxrwxr-x是什么意思? (2) chmod 755 xxx.sh又是什么意思? 1分钟简单说下,这两个和权限相关的问题. 先说下文件类型,访问方式, ...

  6. 同一台PC,配置多个同一存储平台下的Git账号【两个码云账号,配置在同一台PC上】

    问题:配置完 SSH Key, 使用[http地址]拉取代码异常.报一些没有权限的问题. 原因:配置多个gitee账号(码云)后.拉取代码时,应使用~.ssh/config中Host地址,而不是码云给 ...

  7. 在云主机上基于nginx部署基于Flask的网站服务器 (自己部署 )

    1.申请云主机 a.阿里云 (注意:阿里云的服务器需要手动添加安全规则使能80端口) b.腾讯云 2.把网站服务器程序拷贝到云主机 3.远程登录云主机 4.解压网站服务器程序 yum install ...

  8. 70.纯 CSS 创作一只徘徊的果冻怪兽

    原文地址:https://segmentfault.com/a/1190000015484852 感想:monster中边框角.上下动画.旋转动画.左右动画,眼睛中transform:scaleY(n ...

  9. SpringMVC参数注解解释

    在Controller的开发中,经常会用到很多注解,下面解释一下关于形参常用注解的一些解释,他们主要是用来接收参数的. @ModelAttribute("vo", ObjectVo ...

  10. C++中#include<iostream>

    #include 是个包含命令,就是把iostream.h这个文件里的内容复制到这个地方 iostream.h是input output stream的简写,意思为标准的输入输出流头文件.它包含: ( ...