1100 Mars Numbers (20分)

时间:2020-05-16 15:09:08   收藏:0   阅读:63

People on Mars count their numbers with base 13:

For examples, the number 29 on Earth is called "hel mar" on Mars; and "elo nov" on Mars corresponds to 115 on Earth. In order to help communication between people from these two planets, you are supposed to write a program for mutual translation between Earth and Mars number systems.

Input Specification:

Each input file contains one test case. For each case, the first line contains a positive integer N (<). Then N lines follow, each contains a number in [0, 169), given either in the form of an Earth number, or that of Mars.

Output Specification:

For each number, print in a line the corresponding number in the other language.

Sample Input:

4
29
5
elo nov
tam
 

Sample Output:

hel mar
may
115
13

这题考了进制转换,我们需要定义一个转换进制的数组即可。

#include <iostream>
#include <sstream>
using namespace std;
int main() {
    int N, tmp;
    string str;
    string ge[] = {"tret", "jan", "feb", "mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"};
    string shi[] = {"", "tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou"};
    cin >> N;
    getline(cin, str);
    while(N--) {
        getline(cin, str);
        if(isdigit(str[0])) {
            tmp = stoi(str);
            int shin = tmp / 13;
            int gen = tmp % 13;
            if(gen == 0 && shin == 0) cout << "tret" << endl;
            else {
                if(shin != 0) cout << shi[shin];
                if(shin != 0 && gen != 0) cout << " ";
                if(gen != 0) cout << ge[gen];
                cout << endl;
            }
        }else {
            stringstream ss;
            ss << str;
            int ans = 0;
            while(ss >> str) {
                for(int i = 1; i <= 12; i++){
                    if(shi[i] == str) ans += (13 * i);
                    if(ge[i] == str) ans += i;
                }
            }
            cout << ans << endl;
        }
    }
    return 0;
}

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!