下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Namenum试题(原版USACO)+详细手写答案一、题目描述(原版USACO翻译,考场原题)奶牛们流行用手机数字键盘的数字对应字母来给自己起数字编号。标准手机按键对应规则如下:2:A,B,C 3:D,E,F 4:G,H,I 5:J,K,L 6:M,N,O 7:P,R,S 8:T,U,V 9:W,X,Y注意:按键7没有Q,按键9没有Z,这两个字母不会出现在合法名字中。给定一个长度为N的数字串(代表一个数字编号),再给定一本字典(包含若干合法奶牛名字),请你筛选出:所有可以转换成该数字串的合法名字。简单说:把名字的每个字母按键盘规则转成数字,如果整体和输入数字串完全一致,就是答案。二、输入格式1.第一行:一串数字(长度1~12),代表目标数字编号2.第二行开始是字典文件数据(本题固定读取字典),字典中每行一个小写英文名字,名字互不重复、全部合法、无Q、Z字母。字典固定包含数千个常见奶牛名字,程序需要自动匹配筛选。三、输出格式按字典从小到大的顺序,逐行输出所有符合条件的名字。如果没有任何匹配名字,输出一行:NONE四、样例输入&输出样例输入4734(后续字典内容省略,程序自动读取)样例输出GREDHEADHEFD样例解释以HEAD举例:H(4)、E(3)、A(2)、D(3)?修正:样例数字4734:G(4)R(7)E(3)D(4)→4734,完全匹配,所以合法。这道题核心就两件事,非常直白:1.建立字母到数字的映射表:每个字母对应唯一的手机按键数字2.遍历字典所有名字:把每个名字逐个字母转数字,拼成数字串3.转换后的数字串和题目输入数字串完全相等,就输出这个名字4.全程按字典原有顺序遍历,不用额外排序,最后无匹配则输出NONE做题坑点(竞赛易错点)不要记错按键:7只有PRS、9只有WXY,没有Q和Z必须严格匹配长度,长度不一样直接跳过,节省时间必须保留字典原有顺序,不能自己排序六、完整可直接提交代码(Python,USACO标准写法)python
#手写字母-数字映射,完全对应题目键盘
defchar_to_num(c):
ifcin{'a','b','c'}:
return'2'
elifcin{'d','e','f'}:
return'3'
elifcin{'g','h','i'}:
return'4'
elifcin{'j','k','l'}:
return'5'
elifcin{'m','n','o'}:
return'6'
elifcin{'p','r','s'}:
return'7'
elifcin{'t','u','v'}:
return'8'
elifcin{'w','x','y'}:
return'9'
else:
return''
#读取目标数字串
target=input().strip()
res=[]
#读取字典(USACO原题字典读取方式)
#本地测试可自行粘贴字典,评测机自动加载dict.txt
try:
withopen("dict.txt","r")asf:
words=f.readlines()
except:
words=[]
#遍历所有单词匹配
forwordinwords:
word=word.strip()
#长度不一致直接跳过,优化速度
iflen(word)!=len(target):
continue
#单词转数字串
num_str=""
forchinword:
num_str+=char_to_num(ch)
ifnum_str==target:
res.append(word)
#输出结果
ifres:
fornameinres:
print(name)
else:
print("NONE")七、逐行详细答案解析(通俗易懂)1.char_to_num函数专门负责单个小写字母转对应手机数字,完全贴合题目给定键盘规则,规避Q、Z无效字母。2.读取目标数字target读入题目给的数字编号,是我们唯一的匹配标准。3.读取字典文件USACO原题自带dict.txt字典文件,里面是所有合法奶牛名字,程序逐行读取备用。4.长度过滤优化单词长度和数字串长度不一样,绝对不可能匹配,直接跳过,减少无效计算。5.单词转数字串逐个字母转换、拼接成完整数字串,和目标对比,一致则存入答案列表。6.结果输出有匹配就按字典顺序逐行输出,无匹配输出NONE,完全符合题目输出要求。八、自测模拟数据(可直接跑)测试输入:4734字典内有效单词:gred、head、hefd程序输出和样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游戏设计师创新及项目进度绩效考评表
- 确认2026年市场策略的合作意向的函(7篇)
- 厨房清洁维护与深度清洁指南
- 2026年消费者行为趋势调查结果汇报(5篇)
- 重大版高中英语必修二Unit3友谊话题学情摸底卷(含答案)
- 2026年绍兴市柯桥区卫生健康系统第二次编外用工公开招聘14人考试模拟试题及答案解析
- 2026平塘县公开招聘城镇公益性岗位2人考试参考题库及答案解析
- 生物医药生产线布局与优化设计指导手册
- 2027广西定向对外经济贸易大学招录选调生笔试模拟试题及答案解析
- 台州市黄岩区中医院招聘急救中心120医生2人考试参考题库及答案解析
- 庆阳市燃气应急预案
- VMware虚拟化平台巡检手册
- 100个细思极恐海龟汤及答案
- 保留灌肠操作流程及评分标准
- 第七章线粒体与叶绿体
- 固体物理学考点精讲讲义
- 医学微生物学:19-胃肠道感染病毒
- DB11-1983-2022 建筑类涂料与胶粘剂挥发性有机化合物含量限值标准
- 无公害农产品种植业生产记录表农药肥料投入品田间销售等
- 高考语文作文指导:如何用好课文素材设计
- GB/T 6669-2008软质泡沫聚合材料压缩永久变形的测定
评论
0/150
提交评论