/*
火星文有两位,第二位为0不输出 */
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<ctype.h> using namespace std;
char arr[20]={0};
char data[13][2][5]={
{"tret","tret"},
{"jan","tam"},
{"feb","hel"},
{"mar","maa"},
{"apr","huh"},
{"may","tou"},
{"jun","kes"},
{"jly","hei"},
{"aug","elo"},
{"sep","syy"},
{"oct","lok"},
{"nov","mer"},
{"dec","jou"}
};
void prr(char *str){
if(str[3]=='t'&&str[0]=='t'&&str[1]=='r'&&str[2]=='e'){
printf("0");return;
}
if(islower(str[0])){//输入为火星文
int high=0,low=0;
for(int i=0;i<13;i++){
if(data[i][1][0]==str[0]&&data[i][1][1]==str[1]&&data[i][1][2]==str[2])//前边的字符只可能是高位
high+=i*13;
if(data[i][0][0]==str[0]&&data[i][0][1]==str[1]&&data[i][0][2]==str[2])//后边的字符不确定
low+=i;
if(data[i][0][0]==str[4]&&data[i][0][1]==str[5]&&data[i][0][2]==str[6]&&str[3]!='\0')
low+=i;
}
printf("%d",low+high);
}
else{//输入为数字
int temp;
sscanf(str,"%d",&temp);
if(temp<13){
printf("%s",&data[temp][0]);
}
else{
printf("%s",&data[temp/13][1]);
if(temp%13!=0)
printf(" %s",&data[temp%13][0]);
}
}
}
int main(){
int N;scanf("%d",&N);
for(int i=0;i<N;i++){
scanf(" %[^\n]",arr);
if(i!=0) printf("\n");
prr(arr);
}
return 0;
}

【PAT】B1044 火星数字(20 分)的更多相关文章

  1. PAT 1044 火星数字(20)(思路+代码)

    1044 火星数字(20)(20 分) 火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jl ...

  2. PAT Basic 1044 火星数字 (20 分)

    火星人是以 进制计数的: 地球人的 被火星人称为 tret. 地球人数字 到 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov ...

  3. PAT 1044. 火星数字(20)

    火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, no ...

  4. 1044 火星数字 (20 分)C语言

    火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep ...

  5. PAT-乙级-1044. 火星数字(20)

    1044. 火星数字(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 火星人是以13进制计数的: 地球人的 ...

  6. 【算法笔记】B1044 火星数字

    1044 火星数字 (20 分)   火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, ...

  7. PAT 1088 三人行(20 分)(暴力破解+流程分析)

    1088 三人行(20 分) 子曰:"三人行,必有我师焉.择其善者而从之,其不善者而改之." 本题给定甲.乙.丙三个人的能力值关系为:甲的能力值确定是 2 位正整数:把甲的能力值的 ...

  8. pat 1035 Password(20 分)

    1035 Password(20 分) To prepare for PAT, the judge sometimes has to generate random passwords for the ...

  9. PAT 甲级 1061 Dating (20 分)(位置也要相同,题目看不懂)

    1061 Dating (20 分)   Sherlock Holmes received a note with some strange strings: Let's date! 3485djDk ...

  10. PAT 甲级 1035 Password (20 分)(简单题)

    1035 Password (20 分)   To prepare for PAT, the judge sometimes has to generate random passwords for ...

随机推荐

  1. underscore.js源码解析【函数】

    // Function (ahem) Functions // ------------------ // Determines whether to execute a function as a ...

  2. 11个教程中不常被提及的JavaScript小技巧

    这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日常工作中经常出现,但是我们又很容易忽略. 1.过滤唯一值 Set类型是在ES6中新增的,它类似于数组,但是 ...

  3. CentOS7用阿里云Docker Yum源在线安装Docker

    一.参考文档 官方Docker安装文档:https://docs.docker.com/install/linux/docker-ce/centos 阿里云Docker安装文档:https://yq. ...

  4. 常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战.

    常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战. PS:上面是操作.最后是原理 一丶需要了解的API 使用全局钩子注入.我们需要了解几个WindowsAPI. ...

  5. Tirgger SimpleTrigger CronTrigger(四)

    触发器通用属性: jobKey:表示job实例的标识,触发器被触发时,指定的job实例会被执行. startTime:表示触发器的时间表 首次被触发的时间,他的值类型为java.uti.Date. e ...

  6. Baffle.js – 用于实现文本模糊效果的 JavaScript 库

    Baffle.js 是一个 JavaScript 库,设计用来模糊和揭开DOM元素的文本. 这些元素可以是一个 CSS 选择器的形式.一个节点列表或者一个单节点. 你也可以传递一个选择对象给插件. 在 ...

  7. Freemarker教程1(基本使用)

    简介 FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是 ...

  8. 使用Asp.Net Core MVC 开发项目实践[第五篇:缓存的使用]

    项目中我们常常会碰到一些数据,需要高频率用到但是又不会频繁变动的这类,我们就可以使用缓存把这些数据缓存起来(比如说本项目的导航数据,帖子频道数据). 我们项目中常用到有Asp.Net Core 本身提 ...

  9. [HNOI2018] 道路

    Description 给一棵二叉树,每个叶子节点 \(i\) 有三个属性 \(a_i,b_i,c_i\) 每个非叶子节点都能标记向左右儿子中的一条边(记作 \(x\) 边和 \(y\) 边) 设叶子 ...

  10. 微信小程序支付最容易犯的坑notify_url(支付回调)

    最近做了微信小程序支付,支付成功之后发现notify_url回调地址竟然没有访问. 检查了无数次代码,下单结果里面的回调地址看了又看,都没有错啊. 把回调地址复制出来到浏览器上面,外网也是可以访问的啊 ...