博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1100 Mars Numbers
阅读量:6193 次
发布时间:2019-06-21

本文共 1506 字,大约阅读时间需要 5 分钟。

题意:进制转换。

思路:注意当数字是13的倍数时,只需高位叫法的单词。比如26,是“hel”,而不是“hel tret”。我被坑在这里了!对应语句1的处理。另外,在输入n和n个字符串之间需要一个吸收字符的函数,这个也搞了半天!

数字转字符串时:需要考虑(1)0~12;(2)13,26等13的倍数;(3)29,115等常规情况。

字符串转数字时:需要考虑(1)tret;(2)xxx xxx;(3)xxx,其中这一类又分为低位和高位两种可能,低位的话可直接输出,高位的话要乘base(即13)。

代码:

#include 
#include
#include
#include
#include
using namespace std;vector
low={ "tret","jan", "feb", "mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"};vector
high={ "","tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou"};unordered_map
strToInt_g;//个位unordered_map
intToStr_g;unordered_map
strToInt_s;//十位unordered_map
intToStr_s;void init(){ for(int i=0;i<13;i++){ strToInt_g.insert(make_pair(low[i],i)); intToStr_g.insert(make_pair(i,low[i])); } for(int i=1;i<13;i++){ strToInt_s.insert(make_pair(high[i],i)); intToStr_s.insert(make_pair(i,high[i])); }}int main(){ init(); int n; cin>>n; getchar();//!!! string str; while(n--){ getline(cin,str); if(isdigit(str[0])){ int val=stoi(str); int h,l; h=val/13;//高位 l=val%13;//低位 if(h!=0 && l!=0) cout<
<<' '<
<<'\n'; else if(h!=0 && l==0) cout<
<<'\n';//语句1 else cout<
<<'\n'; }else{ if(str.size()>3){ if(str.size()==4) cout<<0<<'\n'; else{ string shi=str.substr(0,3); string ge=str.substr(4,3); cout<
<<'\n'; } }else{ if(strToInt_g[str]!=0) cout<
<<'\n'; else cout<
<<'\n'; } } } return 0;}

 

转载于:https://www.cnblogs.com/kkmjy/p/9562811.html

你可能感兴趣的文章
Linux设备模型 (1)
查看>>
webshell木马简介及防护
查看>>
4.1-4.4 python的数据类型
查看>>
数据库副本的自动种子设定(自增长)
查看>>
Hadoop深入浅出,Hadoop的部署
查看>>
算法学习之路|欧拉回路初见
查看>>
VSFTP服务器学习笔记
查看>>
自己动手做聊天机器人 一-涉及知识【转】
查看>>
常用的一些javascript小技巧
查看>>
【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】下 ~ Net程序员的福利...
查看>>
【转】找了好久,IOS实现半翻页功能
查看>>
Mysql性能优化一
查看>>
SharePoint Framework 在Visual Studio Code中调试你的本地解决方案
查看>>
【转】self.myOutlet=nil、viewDidUnload、dealloc的本质剖析
查看>>
oracle 抽取 对方大字段数据
查看>>
理解.NET中的异常(二)
查看>>
基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 开发流程...
查看>>
[转]OOA/OOD/OOP区别
查看>>
.NET命名规范和开发约定
查看>>
ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57【转】
查看>>