#include<stdio.h>
#include<iostream>
#include<map>
#include<string>
#define MAX_N 180
using namespace std;
string unit[13]={"tret","jan","feb","mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"};
string decade[13]={"tret","tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou"};
string NumToStr[MAX_N];
map<string,int > StrToNum;
void init(){
for(int i=0;i<13;i++){
NumToStr[i]=unit[i];
StrToNum[unit[i]]=i;
NumToStr[i*13]=decade[i];
StrToNum[decade[i]]=i*13;
}
for(int i=1;i<13;i++){
for(int j=1;j<13;j++){
string str=decade[i]+" "+unit[j];
NumToStr[i*13+j]=str;
StrToNum[str]=i*13+j;
}
}
}
int main(){
int T;
string str;
init();
cin>>T;
getchar();
while(T--){
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;
}
}
}
1044. 火星数字(20)PAT乙级&&1100. Mars Numbers (20)PAT甲级
最新推荐文章于 2021-01-26 17:43:16 发布
本文介绍了一个使用C++实现的日期转换程序,该程序能够将数字形式的日期转换为字符串形式,并能将特定字符串形式的日期转换回数字。通过构建一个包含月份名称与对应数值的映射表,程序实现了高效准确的双向转换。

1440

被折叠的 条评论
为什么被折叠?



