PAT 1044 火星数字
https://pintia.cn/problem-sets/994805260223102976/problems/994805279328157696
火星人是以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
#include <bits/stdc++.h> using namespace std; int cmpchar(const char* a,const char* b)
{
int lena=strlen(a);
int lenb=strlen(b);
if(lena!=lenb)
return 0;
else
{
for(int i=0; i<lena; i++)
{
if(a[i]!=b[i])
return 0;
}
}
return 1;
} char s[10],c[5];
//第一个出来对应 ge
char ge[15][15]= {"tret", "jan", "feb", "mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"};
//第二个出来对应 shi
char shi[15][15]= {"tret","tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou"};
char a[15][15]; int main()
{
int T;
scanf("%d",&T);
getchar();
for(int i=1; i<=T; i++)
{
cin.getline(s,10);
int len=strlen(s);
int num=0;
int ans=0,sum1=0;
int flag=0;
if(s[0]>='0'&&s[0]<='9')
{
for(int i=0; i<len; i++)
num=num*10+s[i]-'0';
if(num<13)
cout<<ge[num]<<endl;
else if(num%13==0)
{
cout<<shi[num/13]<<endl;
}
else
{
cout<<shi[num/13%13]<<" "<<ge[num%13]<<endl;
}
}
else
{
s[len]=' ';
s[len+1]='\0';
for(int i=0; i<len+1; i++)
{
if(s[i]!=' ')
for(int j=i; j<len+1; j++)
{
if(s[j]!=' ')
continue;
else
{
ans++;
for(int k=i; k<j; k++)
{
a[ans][k-i]=s[k];
}
a[ans][j-i]='\0';
i=j;
break;
}
}
}
for(int i=0; i<=14; i++)
{
if(ans==1)
{
if(cmpchar(a[1],ge[i])==1)
cout<<i<<endl;
else if(cmpchar(a[1],shi[i])==1)
cout<<13*i<<endl;
}
else if(ans==2)
{
flag=1;
if(cmpchar(a[1],shi[i])==1)
sum1+=13*i;
if(cmpchar(a[2],ge[i])==1)
sum1+=i;
// cout<<sum1<<endl;
}
}
if(flag==1)
cout<<sum1<<endl;
}
}
return 0;
}
PAT 1044 火星数字的更多相关文章
- PAT 1044 火星数字(20)(思路+代码)
1044 火星数字(20)(20 分) 火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jl ...
- PAT——1044. 火星数字
火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, no ...
- PAT 1044. 火星数字(20)
火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, no ...
- pat 1044.火星数字 Java版
个人网站:https://www.lingluan.xyz 火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, ma ...
- PAT 乙级 1044 火星数字 (20 分)
1044 火星数字 (20 分) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, j ...
- PAT(B) 1044 火星数字(Java)进制转换
题目链接:1044 火星数字 (20 point(s)) 题目描述 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, ...
- PAT-乙级-1044. 火星数字(20)
1044. 火星数字(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 火星人是以13进制计数的: 地球人的 ...
- PAT Basic 1044 火星数字 (20 分)
火星人是以 进制计数的: 地球人的 被火星人称为 tret. 地球人数字 到 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov ...
- 1044 火星数字 (20 分)C语言
火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep ...
随机推荐
- header头
<?php header('HTTP/1.1 200 OK'); // ok 正常访问 header('HTTP/1.1 404 Not Found'); //通知浏览器 页面不存在 heade ...
- google浏览器window.onbeforeunload方法兼容问题
window.onbeforeunload方法在IE内核浏览器是有效的,但是在google浏览器中并不兼容,请教给位怎么在google浏览器中兼容window.onbeforeunload方法 采纳的 ...
- Windows连接Linux虚拟机里面的Docker容器
一.Windows.Linux虚拟机.docker关系图 如果此时在Windows宿主机中pingDocker容器是ping不同的,因为在宿主机上没有通往172.17.0.0/24网络的路由,宿主机会 ...
- IIS7.5全站301跳转,内页+带参数url,这才是真正的全站跳转
说好的转型安全领域,可是我还是忍不住要给大家分享这个教程.因为这个问题很常见,大部分人都遇到了(可能你没注意),困扰了我很久,相信这是一篇真正适合你的IIS301跳转教程. 背景 说到301跳转,作为 ...
- Mac svn使用学习-3-客户端调用服务端简单例子
既然在前一篇内容中我们已经讲svn服务器搭建好了,那么接下来我们试着试着简单使用一个该服务器 1.从本地导入代码到服务器上 userdeMBP:~ user$ svn import /Users/us ...
- bip32
https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki RECENT CHANGES: (16 Apr 2013) Added p ...
- NodeHandles
os::NodeHandle类有两个作用: 第一.它在roscpp程序内提供了一种RAII(Resource Acquisition Is Initialization)类型式启动和关闭内部节点的方法 ...
- Python2.7-Queue
Queue 模块,python3中为queue,一般和threading模块同时使用,用于处理多任务队列,模块定义了3种队列类,先进先出(FIFO),后进先出(LIFO),优先级队列 Queue.Qu ...
- Android放大镜效果的简单实现
package com.example.myapi.pictobig; import com.example.myapi.R; import android.content.Context; impo ...
- 20155307《网络对抗》MSF基础应用
实验过程 实验系统 所需设备: 靶机1:Windows XP Professional SP2 ,IP地址:192.168.1.128 靶机2:Windows XP Professional SP3 ...