508 - Morse Mismatches (UVA)

题目链接如下:

Online Judge

这道题我觉得题意有点问题,它写“If multiple context words match morse perfectly, then select the matching word with the fewest characters.”,但按这个题意写的代码无法AC,只能选择最先perfectly match的那个词。

AC代码如下:

#include <cstdio>
#include <string>
#include <map>
#include <vector>
#include <string.h>
#include <algorithm>
#include <iostream>
const int INF = 10000;int pivot, minGap, pivotGap;
std::vector<std::string> word, strVec;
char ch[11];
std::string s;
std::map<char, std::string> mp;
bool flag;int calGap(std::string a, std::string b){for(int i = 0; i < std::min(a.size(), b.size()); ++i){if(a[i] != b[i]){return INF;}}return std::max(a.size(), b.size()) - std::min(a.size(), b.size());
}int main(){while(scanf("%s", ch) == 1 && ch[0] != '*'){std::cin >> s;mp[ch[0]] = s;}while(scanf("%s", ch) == 1 && ch[0] != '*'){std::string str;for(int i = 0; i < strlen(ch); ++i){str += mp[ch[i]];}word.push_back(ch);strVec.push_back(str);}while(std::cin >> s && s != "*"){bool exclamation = false;flag = false;minGap = INF;for(int i = 0; i < strVec.size(); ++i){if(strVec[i] == s){if(!flag){pivot = i;flag = true;} else{exclamation = true;}} else{int tmp = calGap(s, strVec[i]);if(tmp < minGap){minGap = tmp;pivotGap = i;}}}if(flag){printf("%s%s\n", word[pivot].c_str(), exclamation ? "!" : "");} else{printf("%s?\n", word[pivotGap].c_str());}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/97254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一张图搞定英文星期、月份、季节总也搞不定的星期,月份,季节,一张图搞定,还有必用的常见搭配,再也不担心用错介词了~

一张图搞定英文星期、月份、季节 总也搞不定的星期&#xff0c;月份&#xff0c;季节&#xff0c;一张图搞定&#xff0c;还有必用的常见搭配&#xff0c;再也不担心用错介词了~

使用vite+npm封装组件库并发布到npm仓库

组件库背景&#xff1a;使用elementplusvue封装了一个通过表单组件。通过JSX对el-form下的el-input和el-button等表单进行统一封装&#xff0c;最后达到&#xff0c;通过数据即可一键生成页面表单的功能。 1.使用vite创建vue项目 npm create vitelatest elementplus-auto-form…

升级Xcode 15后,出现大量Duplicate symbols问题

https://developer.apple.com/forums/thread/731090 升级到Xcode 15后&#xff0c;原先Xcode14可以编译的项目出现大量Duplicate symbols&#xff0c;且引用报错指向同一个路径&#xff08;一般为Framework&#xff09;下的同一个文件。经过查找相关解决&#xff0c;可通过添加…

JSON文件读写

1、依赖文件 #include <QFile> #include <QJsonDocument> #include <QJsonObject> #include <QDebug> #include <QStringList>2、头文件 bool ReadJsonFile(const QString& filePath""); bool WriteJsonFile(const QString&…

Anaconda的下载与安装

1、下载 Anaconda 这里不管是集成显卡还是独立显卡&#xff0c;第一步先安装Anaconda。 网址&#xff1a;https://mirrors.bfsu.edu.cn/anaconda/archive/ &#xff0c;这里给出的是镜像源&#xff0c;也可以去官网下载&#xff08;下载哪个版本都行&#xff09;。 2、下载完成…

ST表(RMQ问题)

ST表能够O(1)地解决区间[l,r]之间最值问题 1.建表&#xff0c;首先明白ST[i][j]&#xff0c;表示的是区间[i, i(1<<j)-1]的最值&#xff0c;区间大小为2^j。首先初始化ST[i][0]a[i]。 void init&#xff08;&#xff09;{for(int i1; i<n; i){ST[i][0]a[i];} } 因为…

公安部某研究所:代码审核建立安全卡口,为各行业提供优质安全服务保障

某研究所是公安部直属研究所&#xff0c;为组织、企业提供科研创新与技术支撑&#xff0c;保障网络安全&#xff0c;在复杂多变的网络环境中保持安全定力。该研究所帮助政企单位加强网络安全检查与评估&#xff0c;提升保护手段有效性&#xff0c;以新安全格局保障新发展格局。…

【Python_PyQtGraph 学习笔记(八)】基于PyQtGraph将X轴坐标设置为系统时间

【Python_PyQtGraph 学习笔记(八)】基于PyQtGraph将X轴坐标设置为系统时间 前言正文1、获取plotItem的bottom轴对象2、设置刻度值,即获取时间3、刻度值与显示数值绑定4、设置bottom轴的刻度数值显示前言 基于PySide2、PyQtGraph和PySide2动态绘图,将X轴坐标设置为系统事件…

目标检测YOLO实战应用案例100讲-基于无人机航拍图像的目标检测

目录 前言 国内外研究现状 目标检测研究现状 无人机航拍目标检测研究现状

几道web题目

总结几道国庆写的web题目 [ACTF2020 新生赛]Include1 点进去发现就一个flag.php,源代码和抓包都没拿到好东西 结合题目猜是文件包含&#xff0c;构建payload ?filephp://filter/readconvert.base64-encode/resourceflag.php 得到base64编码过的flag&#xff0c;解码即可 此题…

kotlin:LogKit

看到别人的一个代码&#xff0c;觉得有点意思&#xff0c;就复制过来。 package robatimport android.util.Log import java.util.*object LogKit {private val MIN_STACK_OFFSET 3var defaultTag "LogKit"private val lineSeparator System.getProperty("l…

南美巴西市场最全分析开发攻略,收藏一篇就够了

巴西位于南美洲东部&#xff0c;是南美洲资源最丰富&#xff0c;经济活力和经济实力最强的国家。巴西作为拉丁美洲的出口大国&#xff0c;一直是一个比较有潜力的市场&#xff0c;亦是我国外贸公司和独立外贸人集群的地方。中国长期是巴西主要的合作伙伴&#xff0c;2022年占巴…

React组件

一、React组件 函数组件 // 函数组件 // 组件的名称必须首字母大写 // 函数组件必须有返回值 如果不需要渲染任何内容&#xff0c;则返回 null function HelloFn () {return <div>这是我的第一个函数组件!</div> }// 定义类组件 function App () {return (<di…

解决方案:AI赋能工业生产3.0,从工业“制造”到“智造”

视频监控技术是一种既成熟又广泛应用于工业制造领域的先进技术。它可以通过安装各种摄像头和传感器来监测整个生产流程&#xff0c;包括原材料的采购、加工、装配和物流等环节&#xff0c;从而实现对生产过程的实时监控和管理&#xff0c;以及对异常事件的及时预警和响应。 在…

压缩包系列

1、zip伪加密 一个zip文件由三部分组成&#xff1a;压缩源文件数据区压缩源文件目录区压缩源文件目录结束标志。 伪加密原理&#xff1a;zip伪加密是在文件头中加密标志位做修改&#xff0c;然后在打开时误被识别成加密压缩包。 压缩源文件数据区&#xff1a; 50 4B 03 04&a…

安全防御—密码学

1. 什么是APT&#xff1f; APT&#xff08;Advanced Persistent Threat&#xff09;是指高级持续性威胁&#xff0c;本质是针对性攻击。 利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式&#xff0c;APT攻击的原理相对于其他攻击形式更为高级和先进&#xff0c;…

matlab数学建模方法与实践 笔记汇总

matlab数学建模方法与实践 笔记汇总 写在最前面笔记1&#xff1a;快速入门1.导入数据2.数据探索3.多项式拟合4.发布功能5.数据类型6、全部代码 笔记2&#xff1a;数据的准备1.数据的读取与写入excel、txt读图读视频 2.数据预处理缺失值噪声过滤数据归约数据变换 3.数据统计4.数…

除静电离子风蛇的工作原理及应用

静电离子风蛇是一种通过产生大量负离子来中和空气中的静电荷的设备。它们通常用于防止静电对电子设备、印刷机、加工机等工业设备造成损害。 静电离子风蛇的工作原理是通过电离器将空气中的氧气分子转化为氧离子&#xff0c;然后将这些氧离子释放到空气中。这些氧离子会与空气…

Android Camera2 SessionConfiguration介绍和使用

一、介绍 最近在相机开发中发现 createCaptureSession(List, CameraCaptureSession.StateCallback, Handler) 已经被标记为过时&#xff08;Deprecated&#xff09;的函数了&#xff0c;取而代之的是 createCaptureSession(SessionConfiguration) 函数。 缘由 随着 Camera 功…

适老产品反“坑老”,美的智能化家电是否能坐稳银发经济顺风车?

随着我国老龄化程度不断加深&#xff0c;银发经济崛起早已成为不争的共识。早在2013年&#xff0c;《中国老年人家电需求研究报告》就曾预测&#xff0c;仅在城镇空巢老年人家庭&#xff0c;每年产生的老年家电需求规模就超过600亿元&#xff0c;加上非空巢老人的需求&#xff…