AC代码:

#include <iostream>
#include <cstdio>
#include <map>
#include <string>
#include <vector>
using namespace std;


enum v1{jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec};
enum v2{tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou};

map<int, string> mp;
map<string ,int> eto;

void hanshu(void)
{
    int a,b;
    string s1[13]={"tret","jan","feb","mar","apr","may","jun",
                            "jly","aug","sep","oct","nov","dec"};
    string s2[13]={"tret","tam","hel","maa","huh","tou","kes",
                            "hei","elo","syy","lok","mer","jou"};
    
    //存在0的 
    for(int i=0;i<13;i++){
        mp[i]=s1[i];
        eto[s1[i]]=i;    
    }
    for(int i=1;i<13;i++){
        mp[13*i]=s2[i];
        eto[s2[i]]=i*13; 
    }
    
    //不存在0的
    for(int i=1;i<13;i++){
        for(int j=1;j<13;j++){
            mp[i*13+j]=s2[i]+" "+s1[j];
            eto[mp[i*13+j]]=i*13+j;
        }
    } 
}

int main(void)
{
    hanshu();
    freopen("in.txt","r",stdin);
    int n;
    scanf("%d",&n);
    char m=getchar();
    //char m=getchar();
    for(int i=1;i<=n;i++){
        string str;
        getline(cin, str);
//        printf("%s\n",str.c_str());
        if(str[0] >= '0' && str[0] <= '9'){     //说明是数字 
            int number=0;
            for(int j = 0; j < str.size(); j++){
                number = number * 10 + (str[j] - '0');
            }
            printf("%s\n",mp[number].c_str());
        }
        else{     //说明是火星字
            printf("%d\n",eto[str]);
            
        }
    }
    
    fclose(stdin);
    return 0;
}

优质内容筛选与推荐>>
1、创建一个简单的配置android编译环境的脚本
2、Jug 并行处理框架
3、Java设计模式(三) Visitor(訪问者)模式及多分派场景应用
4、[精]Xpath路径表达式
5、Codeforces Round #310 (Div. 2)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号