当前位置: 首页 > news >正文

打卡信奥刷题(2554)用C++实现信奥 P2133 天作之合

P2133 天作之合

题目背景

生活就是一次 A*,你是我的第一个目标状态。——小明

题目描述

在小明的学校中,有若干个女生。小明认为每个女生的特征可以抽象为一个666位的数字串,其中不重复地包含1∼61\sim616666个数码。

在小明心中,有一个理想的女生,她的特征数字串为AAA。如果串YYY是串XXX交换两个连续的数码所得,那么我们认为特征数字串XXXYYY相似。首先,小明找到了他的同桌,她的特征数字串为SSS。每次,小明会寻找一个特征数字串和当前串相似的女生,直到寻找到适合他的(即特征数字串和AAA相同或相似的)。定义每个女生的合适程度为找到此人至少需要找女生的数量(包括他的同桌和此人自己)。显然,合适程度数值越小的女生越适合小明。

然而,小明觉得老天不会轻易地让他找到,所以他认为合适程度第二小的才是他最合适的伴侣(也就是小红)。那么,请你帮他写一个程序,求出对于小明,小红的合适程度是多少。

输入格式

111行,一个特征数字串AAA

222行,一个特征数字串SSS

输出格式

一行,一个非负整数表示小红的合适程度。

输入输出样例 #1

输入 #1

123654 123456

输出 #1

3

说明/提示

样例解释:

最短的两个「合适的数字串」分别是454\tt 454454545\tt 545545,故答案为333


对于全部数据,保证串AAASSS合法,且保证能找到。

C++实现

#include<bits/stdc++.h>usingnamespacestd;string a,b;intdata[10];map<char,int>m;intmain(){cin>>a>>b;a=' '+a;//加上空格,个人习惯使用s[1]~s[6]b=' '+b;intans=0,cnt=0;for(inti=1;i<=6;i++)m[a[i]]=i;//map标记每个数字正确的位置for(inti=1;i<=6;i++)data[i]=m[b[i]];//同上,data[i]为b[i]应该在的位置for(inti=1;i<=6;i++)for(intj=i+1;j<=6;j++)if(data[j]<data[i])ans++;//求逆序对个数if(ans<2)ans+=2;//特判,如果没交换或者只交换了一次,必定属于最优解加2的情况else{for(inti=1;i<=6;i++)if(abs(data[i]-m[a[i]])==ans)cnt++;//特殊情况出现if(cnt==1)ans+=2;//只有一个数在移动}cout<<ans;return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.cnnetsun.cn/news/128267.html

相关文章:

  • 23、跨平台 Unix 系统管理与自动化工具实践
  • 30、Python 并发编程:线程、进程与调度全解析
  • rt-linux下的“硬实时”的hrtimer通知机制
  • 60、C 编程综合知识解析
  • 3、矩阵、狄拉克符号与经典及量子计算基础
  • 6、量子力学原理:自由度、希尔伯特空间与算子
  • 企业级html+css在线英语阅读分级平台管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • 使用gitee快速下载国外文件方案
  • 一块8088单板机,桌面上的技术玩具
  • 数字签名与数字证书
  • 国密算法全家桶:一文认清 SM 系列 “安全卫士”
  • RocketMQ的事务消息是如何实现的?
  • 【实证分析】上市公司产品市场竞争优势-含原始数据及do代码(2002-2022年)
  • 招标平台最难的战斗:在持续变化中保持数据稳定与精准
  • 洋驼帮跨境物流
  • 前后端分离滑雪场管理系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程
  • Kotaemon在政务场景下的合规性与安全性设计
  • 两款免费神器一键修复,网络难题轻松搞定!
  • 自动化营销有哪些方式,国内外有哪些自动化营销工具?
  • Cursor快捷键大全:效率翻倍的隐藏技巧
  • 【项目实战】md 是标准纯文本标记语言,mdx 是其扩展格式(融合 JSX/组件能力)
  • 2、网络指南:印刷版与在线版的选择及网络知识介绍
  • Kotaemon如何处理歧义问题?上下文消解策略解析
  • 6、网络配置与管理全解析
  • 零代码训练!用本地大模型实现文本情感分析
  • Kotaemon备份与恢复策略:防止数据丢失
  • 批量将 Word 文档重命名为其标题
  • Kotaemon本地部署教程:保护数据隐私的新选择
  • Kotaemon支持GraphQL接口吗?现代API集成方案
  • 基于Kotaemon的政策法规智能查询系统