HDU 1914 The Stable Marriage Problem 稳定婚姻问题 (接着水)

HDU-1914-The Stable Marriage Problem(稳定婚姻算法) The Stable Marriage Problem Problem Description The stable marriage problem consists of matching members of two different sets according to the member’s preferences for the other set’s members. The in... 阅读详情
恩,也是水题。我还是改的上一题代码。QwQ。
注意:每个人喜爱的人不一定是n。所以不能直接按n算。

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

/*********************************************
    Problem : HDU 1914
    Author  : NMfloat
    InkTime (c) NM . All Rights Reserved .
********************************************/

#include <map>
#include <set>
#include <queue>
#include <stack>
#include <cmath>
#include <ctime>
#include <string>
#include <cstdio>
#include <vector>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>

#define rep(i,a,b)  for(int i = (a) ; i <= (b) ; i ++) //遍历
#define rrep(i,a,b) for(int i = (b) ; i >= (a) ; i --) //反向遍历
#define repS(it,p) for(auto it = p.begin() ; it != p.end() ; it ++) //遍历一个STL容器
#define repE(p,u) for(Edge * p = G[u].first ; p ; p = p -> next) //遍历u所连接的点
#define cls(a,x)   memset(a,x,sizeof(a))
#define eps 1e-8

using namespace std;

const int MOD = 1e9+7;
const int INF = 0x3f3f3f3f;
const int MAXN = 27;
const int MAXE = 2e5+5;

typedef long long LL;
typedef unsigned long long ULL;

int T,n,m;

int fx[] = {0,1,-1,0,0};
int fy[] = {0,0,0,-1,1};

map<char,int>m1,m2;
int RankA[MAXN][MAXN]; //男士的追求列表;
int RankB[MAXN][MAXN]; //女士的接受列表;
char nameA[MAXN];
char nameB[MAXN];

void input() {
    m1.clear() ; m2.clear() ;
    scanf("%d",&n);
    char name[105];
    rep(i,1,n) { scanf("%s",name); nameA[i] = name[0]; m1[nameA[i]] = i;}
    rep(i,1,n) { scanf("%s",name); nameB[i] = name[0]; m2[nameB[i]] = i;}

    cls(RankA,0); cls(RankB,0);
    rep(i,1,n) { //处理男士
        scanf("%s",name);
        int u = m1[name[0]];
        int len = strlen(name);
        rep(j,2,len-1) {
            RankA[i][j-1] = m2[name[j]];
        }
    }

    //处理女士
    rep(i,1,n) {
        scanf("%s",name);
        int u = m2[name[0]];
        int len = strlen(name);
        rep(j,2,len-1) {
            RankB[u][m1[name[j]]] = j-1; //直接根据RankB就可以对追求的男士进行排序
        }
    }
}

int matchA[505];//男士的匹配情况
int matchB[505];//女士的匹配情况
int lick[505];

void solve() {
    cls(matchA,0) ; cls(matchB,0) ; cls(lick,0);
    int flg = 0;
    while(1) {
        int ok = 0;
        rep(i,1,n) {
            if(!matchA[i]) {
                ok = 1;
                int u = ++lick[i];
                if(!RankA[i][u]) { flg = 1; break;}
                int v = RankA[i][u];
                if(!RankB[v][i]) continue;
                if(!matchB[v]) {
                    matchB[v] = i; matchA[i] = v;
                }
                else {
                    if(RankB[v][i] < RankB[v][matchB[v]]) {
                        matchA[matchB[v]] = 0;
                        matchB[v] = i; matchA[i] = v;
                    }
                }
            }
        }
        if(flg) break;
        if(!ok) break;
    }
    if(flg) puts("Impossible");
    else {
        rep(i,1,n) {
            printf("%c %c\n",nameA[i],nameB[matchA[i]]);
        }
    }
}  

int main(void) {
    //freopen("a.in","r",stdin);
    int casenum = 0;
    scanf("%d",&T); while(T--) {
        if(casenum++) puts("");
        input();
        solve();
    }
    return 0;
}
51单片机+HX711电子秤Proteus仿真保姆级教程(附完整源码与避坑指南) 本文详细介绍了51单片机与HX711电子秤在Proteus仿真中的全流程实战指南,包括电路设计、核心代码实现、典型问题排查及系统集成等关键步骤。特别提供了HX711驱动程序的编写技巧和称重数据处理算法,帮助开发者快速搭建高精度电子秤仿真系统,并避免常见的设计陷阱。 阅读详情

相关推荐

Windows下TensorRT+YOLOv11部署避坑指南:从CUDA配置到模型加密全流程

本文详细解析了在Windows平台部署YOLOv11与TensorRT的全流程,重点涵盖从CUDA环境配置、工程编译适配到模型加密保护的实战指南。基于wang-xinyu的tensorrtx仓库,提供了详细的版本选择、编译问题修复方案,并深入探讨了如何对TensorRT引擎进行加密,以实现高效且安全的端到端部署。

vscode5coder的博客 449

HDU1914 稳定婚姻匹配

The Stable Marriage Problem Time Limit: 5000/1000 MS (Java/Others)Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 758Accepted Submission(s): 389 Problem Description The s...

anuancong1219的博客 197

[HDU 1914] The Stable Marriage Problem (稳定婚姻问题)

HDU - 1914 稳定婚姻问题 每个男士对所有女士有个喜欢程度,每个女士对所有男士也有个喜欢程度 使男女两两配对,使得找不到一对男女,满足 他们不相匹配,且他们喜欢对方都超过喜欢自己现有的另一半 稳定婚姻问题的求解思路,分三个步骤 每个尚未配对的男士寻找当前他最喜欢的女士 1. 若当前女士未配对,则配对 2. 若当前女士已配对,且她更喜欢后来的男士,则她抛弃未婚夫

MisDeer's blog 490

从零搭建VGGNet

在 forward 方法中实现了前向传播过程,包括卷积、激活、池化和平铺操作,最后通过全连接层得到分类结果。使用 torch.onnx.export 将模型导出为 ONNX 格式的文件 vgg.onnx。导出 ONNX:将模型导出为 ONNX 格式,便于在其他平台或框架中使用。定义 VGG 网络:构建了一个包含多个卷积层、池化层和全连接层的网络。使用 torch.save 将整个模型保存为 vgg.pth 文件。前向传播:对输入数据进行前向传播,得到输出结果。保存模型:将模型保存为 .pth 文件。

开源驱动,创造价值;坦诚清晰,快速失败;让复杂可计算。 521

深信服PT1-AF实验考试

深信服PT1-AF实验考试实验练习可以去深信服的在线实验平台(链接如下):深信服在线实验平台 (sangfor.com.cn)实验考试其实就是把所有的每一部分实验综合了起来以下内容仅做参考,不确保一样。

m0_72019240的博客 7103

HDU1914(稳定婚姻)

http://acm.hdu.edu.cn/showproblem.php?pid=1914思路:Gale-Shapley算法。算法过程是男士不停地求婚,女士不停地拒绝。在每一轮中,每个尚未订婚的男士在他还没有求过婚的女士中选一个自己最喜欢的求婚(不管她有没有订婚)。然后每个女士在向她求婚的人之中选择她最喜欢的一个订婚,并且拒绝其他人。注意,这些向她求婚的人中包含她的未婚夫,因此她可以选...

weixin_30556959的博客 116

用COMSOL计算复合材料板频散曲线:从建模到绘图全流程

导波在板结构中传播时,不同频率成分的速度不同,即频散现象。理解频散曲线是识别导波模态、确定相速度与群速度的基础,也是无损检测和结构健康监测中信号解读的关键。对于碳纤维增强复合材料等各向异性板,频散关系更加复杂,传统解析方法难以求解,数值仿真成为主流手段。通过COMSOL结合周期性边界条件与特征频率扫描,可以高效计算出复合材料板的频散曲线,进而绘制相速度和群速度随频率变化的图谱,为实验模态识别、换能器激励频率选择提供依据。本文以一个2毫米单向碳纤维板为例,详细介绍几何建模、材料参数设置、网格收敛验证、参数扫描

weixin_31412781的博客 232

HDU 1914 The Stable Marriage Problem

稳定婚姻问题

依然一笑作春温。 463

STM32与FreeRTOS:基于TIM6的高精度系统时间获取实践

本文详细介绍了在STM32与FreeRTOS环境下,基于TIM6定时器实现高精度系统时间获取的实践方法。通过复用FreeRTOS的TIM6硬件资源,开发者可以高效获取毫秒级和微秒级系统时间,同时解决时间溢出和中断处理等关键问题。文章还提供了CubeMX配置技巧、代码实现及性能优化建议,适用于嵌入式系统开发中的精确时间管理需求。

weixin_29169505的博客 357

电源设计之路-Buck电源环路设计(Type IIIA&Type IIIB)

在对Buck 环路补偿Type II拓扑进行仿真测试后,对瞬态波形以及伯德图已经有感官上的认知;然后再进一步对Type IIIA & IIIB进一步的学习;进一步了解Cout电容量和ESR对环路补偿的影响;认识到一个电源,不是参考Datasheet上的参数进行选值就行;更需要根据实际情况,功率电感值、输出电容值以及不同电容会有不一样的ESR,这些都会对环路参数产生一定的影响

2503_92839756的博客 749

HDU 1914 The Stable Marriage Problem 稳定婚姻

The Stable Marriage Problem Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 56 Accepted Submission(s): 36   Problem

窦小雨的小点子 421

YOLO26改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头

本文记录的是基于移动倒置瓶颈 MBConv 的 YOLO26 的检测头轻量化改进方法研究。采用了独特的倒置瓶颈结构,通过的操作以及,在高效提取特征的同时极大地降低了计算量。本文将的设计优势融入j检测头中,使其在目标检测任务中不仅能够更精准地识别各类目标,还能在计算资源有限的情况下快速响应,展现出更为卓越的实时检测能力。EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks的实现代码如下: 首先在代码中加入如下代码: 其

Limiiiing的博客 286

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

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1914 题目大意:问题大概是这样:有一个社团里有n个女生和n个男生,每位女生按照她的偏爱程度将男生排序,同时每位男生也按照自己的偏爱程度将女生排序。然后将这n个女生和n个男生配成完备婚姻。如果存在两位女生A和B,两位男生a和b,使得A和a结婚,B和b结婚,但是A更偏爱b而不是a,b更偏爱A而...

baidui8622的博客 262

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

The Stable Marriage Problem 【HDU - 1914】【稳定婚姻匹配问题】

题目链接 Problem Description The stable marriage problem consists of matching members of two different sets according to the member’s preferences for the other set’s members. The input for our problem c...

既然弱小,就只顾变强就是了 387

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

hdu1914 The Stable Marriage Problem(稳定婚姻匹配)

题意: 有n个男的和n个女的, 对于每个男的和每个女的,都有一个异性名单,将自己喜好的人按优先级从高到低排列, 现在要求找到其中的一种稳定婚姻匹配方案, 不稳定的定义: 假如女a和男A匹配,如果存在男B, 满足男B更喜欢女a,同时女a相比男A更喜欢男B,那么女a就会和男B私奔。 数据范围:n<27,每个男的用一种小写字母代替(‘a’-‘z’),每个女的用一个大写字母代替(‘A’-‘Z’) 解法: 一开始将所有男的丢入待匹配队列, 当队列不为空: 取出一个男的, 按照这个男的的优先表遍历这个男的未匹配过

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 443

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

HDU 1914 The Stable Marriage Problem (稳定婚姻匹配)

题意:稳定婚姻匹配问题,板子题。 题解:稳定婚姻匹配 注意按字典序输出,还有输出格式,最后个样例不输出空行。 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> #include<queue> #include<stack> #inc

gongyuandaye的博客 196

hdu 1914 The Stable Marriage Problem(延迟认可算法)

这篇解释得比较好:      点击打开链接 稳定婚姻问题:实际上就是n男n女,每个人都对其他异性有一个喜欢值,給他们匹配,然后最后得到他们关系比较稳定的一种方法。其中要使得关系稳定,要满足的条件是两个人中任何一个人都认为自己的配偶是喜欢自己的人中最好,这样如果一个想出轨,一定不会找比自己现任差的,可是比自己现任好的又不会喜欢他,因为人家认为人家的现任要比他好。所以婚姻稳定。 算法:简单说就是,

AClion的专栏 1232

HDU 1914 The Stable Marriage Problem 稳定婚姻问题

The Stable Marriage Problem Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 465    Accepted Submission(s): 236 Problem Description The st

小人物的草稿本 1504

HDU 1914 &&POJ 3487 The Stable Marriage Problem 稳定婚姻系列

点击打开链接   The Stable Marriage Problem Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 360    Accepted Submission(s): 175 Problem Desc

代码改变世界,keep coding。 1725

HDU 1914 The Stable Marriage Problem 稳定婚姻关系

题意:有男孩n个,女孩n个,没人有自己的名字,告诉你在每一个人心中所有异性的排名。问你如果搭配他们,为最稳定合理的搭配。 想法:简单的稳定婚姻问题,如果不理解这个是什么,请看点击打开链接。 #include #include #include #include #include #include using namespace std; const int N=30; int

猫ER 983

HDU - 1522 Marriage is Stable && HDU - 1914 The Stable Marriage Problem 稳定婚姻问题,可做模板

题意:裸的稳定婚姻问题,不过这个题的输入是字符串,要处理一下。 链接:hdu - 1522 AC代码: #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;cstdio&gt; #include &lt;cmath&gt; #include &lt;cstring&gt; #include &lt;string...

陌离将离 308

poj3487 & hdu1914 The Stable Marriage Problem 稳定婚姻系统

//n个男生,n个女生配对 //n个男生在心中对每个女生有个排名 //n个女生在心中对每个男生有个排名 //问怎样配对使得所有人都配对好且不存在两对婚姻中存在 //A和a结婚,B和b结婚,但是A更偏爱b而非a而且b也更偏爱A而非B //这样A和b可能会私奔 //①这里用的是Gale-Shapley算法 //每一位单身男在所有尚未拒绝她的女士中选择一位被他排名最优先的女士; //②每一位女士将正在追求

ijbuhv的专栏 1176

hdu1914 稳定婚姻问题

稳定婚姻问题就是给你n个男的,n个女的,然后给你每个男生中女生的排名,和女生心目中男生的排名,然后让你匹配成n对,使婚姻稳定,假如a和b匹配,c和d匹配,如果a认为d比b好,同时d也认为a比c好,那么ad就有可能私奔,这样就导致了婚姻的不稳定,稳定婚姻就是找到一种解决方案让婚姻稳定 算法:       稳定婚姻的解决方法比较简单,通俗易懂,而且还容易实现,具体有没有固定的模板我不知道,没有去找

天使也掉毛 1080

hdu 1914 稳定婚姻问题 模板

贴几个博客链接,模板自用… https://www.cnblogs.com/encodetalker/p/11001087.html https://blog.youkuaiyun.com/lifajun90/article/details/8659192 #include <bits/stdc++.h> #define rep(i,a,b) for(int i=(int)a;i<=(int...

人生如戏 270

Hdu1914稳定婚姻匹配

题意: 给出 n 个男生,n 个女生,给出他们对异性的喜欢顺序,求一个稳定的婚姻组合。 思路: 稳定婚姻匹配裸题 #include <cstdio> #include <cstring> #include <algorithm> typedef long long LL; const int INF = 0x3f3f3f3f; const int maxn ...

CY05627的博客 306
上一篇: HDU 1522 Marriage is Stable 稳定婚姻问题 (再水一发)
下一篇: HDU 3585 maximum shortest distance 二分+最大团
_NMfloat_
博客等级 码龄12年 7粉丝 315原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值