首页 > 其他分享 >PAT 乙级 1044 火星数字 (20分)

PAT 乙级 1044 火星数字 (20分)

时间:2022-10-25 21:00:39浏览次数:54  
标签:13 PAT string temp 1044 int Martian input 20


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(<100),随后 N 行,每行给出一个 [0, 169) 区间内的数字 —— 或者是地球文,或者是火星文。
输出格式:

对应输入的每一行,在一行中输出翻译后的另一种语言的数字。
输入样例:

4
29
5
elo nov
tam
输出样例:

hel mar
may
115
13
作者: CHEN, Yue
单位: 浙江大学
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB

#include <iostream>
#include <map>
using namespace std;
int main(){
string Martian_1[13] = {"tret","jan", "feb", "mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"};//未进位
string Martian_2[13] = {"tret","tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou"};//进位
map<string,int> MartianToEarth;
string temp = "";
for (int i = 0; i < 169; ++i) {
if(i < 13){
temp = Martian_1[i];
MartianToEarth[temp] = i;
} else{
if(i % 13 == 0){
temp = Martian_2[i/13];
MartianToEarth[temp] = i;
} else{
temp = Martian_2[i/13] + " " + Martian_1[i % 13];
MartianToEarth[temp] = i;
}
}
}
string output[100];
string input;
int n;
cin>>n;
getline(cin,input);
for (int i = 0; i < n; ++i) {
getline(cin,input);
if(input[0]<='9' && input[0] >='0'){//输入的是数字
int mid = atoi(input.c_str());
if(mid < 13)
output[i] = Martian_1[mid];
else {
output[i] = Martian_2[mid / 13];
if (mid % 13 > 0) {
output[i] += " " + Martian_1[mid % 13];
}
}
} else {
output[i] = to_string(MartianToEarth[input]);
}
}
for (int i = 0; i < n; ++i)
cout<<output[i]<<endl;
return 0;
}


标签:13,PAT,string,temp,1044,int,Martian,input,20
From: https://blog.51cto.com/u_15845758/5795115

相关文章

  • PAT 乙级 1043 输出PATest (20分)
    1043输出PATest(20分)给定一个长度不超过104的、仅由英文字母构成的字符串。请将字符重新调整顺序,按PATestPATest…这样的顺序输出,并忽略其它字符。当然,六种字符的个......
  • 2022计算机基础与程序设计
    目录作业要求作业提交地址作业提交情况情况较上周有退步,上周未提交7人,这周未提交10人作业内容要求学习目标总结要求作业情况优点缺点优秀作业助教小结作业要求作业提交地......
  • 【2022.10.25】Vue基础学习(2)
    今日详情1.style和class2.条件渲染3.列表渲染3.1v-for循环数组,循环字符串,数字,对象3.2数组的检测与更新4.双向数据绑定5.事件处理5.1过滤案例5.2事件修饰......
  • 【2022-10-25】前端Vue框架(二)
    一、Style和class数据绑定语法:属性名=js变量/js语法:class=’js变量、字符串、js数组’class:三目运算符、数组、对象{red:true}:style=’js变量、字符串、js数......
  • 20221024&20221025 图数据库/知识图谱/AI/Neo4j入门
    起源/Outline图数据库GraphDB在计算机科学中,图数据库(英语:graphdatabase,GDB[1])是一个使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。该系统......
  • 2022ACM第二次招新题解
    A-签到题这道超级简单的题目没有任何输入。你只需要在一行中输出著名短句"helloworld"就可以了。代码&思路无思路记得完全一样就行,别整Helloworld/helloworl......
  • CYSYOI 2022 Round #1 赛后题解报告
    CYSYOI2022Round#1赛后题解报告我是个大聪明,一个200分的蒟蒻忍泪前来写题解和赛后报告。/kk赛后题解T1CHT去挖矿题目详情算法解析好的,一道大模拟。直接上代......
  • [SUCTF 2019]CheckIn 1
    [SUCTF2019]CheckIn1知识点:.user.ini.htaccess//知识点统细讲放到最后,建议学习一下连接里面的内容文件上传内容检测一句话木马rce命令执行、蚁......
  • #yyds干货盘点#【愚公系列】2022年10月 微信小程序-Component组件的关系
    前言relations定义段包含目标组件路径及其对应选项,可包含的选项见下表。选项类型是否必填描述typeString是目标组件的相对关系,可选的值为parent、child......
  • #yyds干货盘点#【愚公系列】2022年10月 微信小程序-Component组件的扩展
    一、Component组件的扩展//behavior.jsmodule.exports=Behavior({definitionFilter(defFields){defFields.data.from='behavior'},})//component.js......