标签:otto specific htm print form pac 需要 positive 定义
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.
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.
For each number, print in a line the corresponding number in the other language.
4
29
5
elo nov
tam
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; }
标签:otto specific htm print form pac 需要 positive 定义
原文地址:https://www.cnblogs.com/littlepage/p/12900560.html