1044 火星数字 (20 分)
火星人是以 13 进制计数的:
- 地球人的 0 被火星人称为 tret。
- 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。
- 火星人将进位以后的 12 个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou。
例如地球人的数字 29
翻译成火星文就是 hel mar
;而火星文 elo nov
对应地球数字 115
。为了方便交流,请你编写程序实现地球和火星数字之间的互译。
输入格式:
输入第一行给出一个正整数 N(<),随后 N 行,每行给出一个 [0, 169) 区间内的数字 —— 或者是地球文,或者是火星文。
输出格式:
对应输入的每一行,在一行中输出翻译后的另一种语言的数字。
输入样例:
4
29
5
elo nov
tam
输出样例:
hel mar
may
115
13
#include<cstdio> #include<iostream> #include<string> #include<map> using namespace std; string unitDigit[13] = {"tret","jan","feb","mar","apr","may","jun","jly","aug","sep","oct","nov","dec"}; string tenDigit[13] = {"tret","tam","hel","maa","huh","tou","kes","hei","elo","syy", "lok","mer","jou"}; string numToStr[170]; map<string,int>strToNum;void init(){for(int i = 0; i < 13; i++){numToStr[i] = unitDigit[i];strToNum[unitDigit[i]] = i;numToStr[i * 13] = tenDigit[i];strToNum[tenDigit[i]] = i * 13;}for(int i = 1; i < 13; i++){for(int j = 1; j < 13; j++){string str = tenDigit[i] + " " + unitDigit[j];numToStr[i * 13 + j] = str;strToNum[str] = i * 13 + j;}} }int main(){init();int n;scanf("%d",&n);getchar();while(n--){string str;getline(cin,str);if(str[0] >= '0' && str[0] <= '9'){int num = 0;for(int i = 0; i < str.length(); i++){num = num * 10 + (str[i] - '0');}cout << numToStr[num] << endl;}else{cout << strToNum[str] << endl;}}return 0; }
转载于:https://www.cnblogs.com/wanghao-boke/p/10453526.html
1044 火星数字 (20 分)相关推荐
- 【PAT乙】1044 火星数字 (20分)
1044 火星数字 (20分) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, ju ...
- PAT乙级 1044 火星数字 (20分)
1044 火星数字 (20分) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, ju ...
- 1044 火星数字 (20 分)(c++)
火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep ...
- 测试点2和测试点4错的来:1044 火星数字 (20分)
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为 ...
- 1044 火星数字 (20分)
火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep ...
- 【PAT乙级】1044 火星数字 (20 分)
题目地址 #include<bits/stdc++.h> using namespace std; string a[13]={"tret","jan&quo ...
- 1044. 火星数字(20)
1044. 火星数字(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 火星人是以13进制计数的: 地球人的 ...
- 1044. 火星数字(20) PAT
1044. 火星数字(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 火星人是以13进制计数的: 地球人的 ...
- PAT 乙级 1044. 火星数字(20) Java版
火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, no ...
- 1044. 火星数字(20)-PAT乙级真题
火星人是以13进制计数的:地球人的0被火星人称为tret.地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, ...
最新文章
- JUnit测试类完成后事务是默认 回滚的。只能查询数据,不能增删改。
- Python爬虫-爬取扇贝单词(Xpath)
- 由浅入深laravel教程 :中间件
- layui表格 设置默认排序_layui table对表格数据处理后的排序问题
- 面向切面编程:操作日志
- 二维平面上判断点是否在三角形内
- iPhone 6 Plus实际分辨率为2208x1242的问题
- [转帖]Windows下cwRsyncServer双机连续同步部署
- 衬线字体与非衬线字体
- 聊聊集成电路工程技术人员都有哪些?
- 40个使用HDR的超棒夜景摄影照片展示
- 更新BLE的设备后,OSX LightBlue 不会更新扫描到Service
- webService教程之cxf框架
- Oracle执行计划——查看执行计划的方法
- 计算机程序漏洞用英语怎么说,网络用语bug是什么意思,中文翻译是虫子(指电脑程序漏洞)...
- Istio进入1.7版本,Service Mesh 落地还有什么障碍?
- 触动精灵--点击函数封装--一些特殊情况的使用--狂暴传奇
- Excel功能及实现
- Ipmitool工具安装以及常见使用方法
- Linux 单独编译驱动模块(ko文件)