文文不喜歡英文,英文有太多的名字了!月份有名字 (January, February, …),星期有名字 (Sunday, Monday, …),連銅板也有名字 (Penny, Dime, …)。
今天他又被一堆 Sunday, Monday, 什麼什麼 day 的給弄糊塗了,你可以幫他轉成數字嗎?
範例測資
範例輸入 | 範例輸出 |
---|---|
輸入只有一行,含有一個要轉換的字串。 | 如果輸入的是「Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday」等其中一個字串,請依序轉成 0, 1, 2, 3, 4, 5, 6 的整數。如果不是上述的字串之一,請輸出「error」。 |
Sunday | 0 |
Twosday | error |
解題思路
使用Map將每個日期的索引值存起來,如果讀到的字串在Map中沒有值 (沒有值的話取 Value 的時候會回傳 0) 的話就輸出error,反之則輸出Map的值。
範例程式碼-ZeroJudge L960: 星期幾?
#include <iostream>
#include <map>
using namespace std;
int main() {
map<string, int>MAP;
MAP["Sunday"] = 1;
MAP["Monday"] = 2;
MAP["Tuesday"] = 3;
MAP["Wednesday"] = 4;
MAP["Thursday"] = 5;
MAP["Friday"] = 6;
MAP["Saturday"] = 7;
string str;
cin >> str;
if (MAP[str] != 0) cout << MAP[str]-1 << endl;
else cout << "error" << endl;
}
//ZeroJudge L960
//Dr. SeanXD