同題:UVa 12250 – Language Detection
英文、西班牙文、德文、法文、義大利文及俄文為歐盟國家中最盛行的 6 種語言。下圖顯示英語人口在歐洲各國的密度。這些語言都有不同的字來表示英文的「HELLO」。例如西班牙文中等同於英文「HELLO」的字是「HOLA」,而德文、法文、義大利文及俄文中意思為 (或相近) 「HELLO」的字依序為「HALLO」、「BONJOUR」、「CIAO」和「ZDRAVSTVUJTE」。
你在本題中的任務非常簡單。給你以上的幾個單字之一或是其他的單字,你需要辨識它是哪一種語言。
語言 | HELLO 翻譯 |
---|---|
English | HELLO |
Spanish | HOLA |
German | HALLO |
French | BONJOUR |
Italian | CIAO |
Russian | ZDRAVSTVUJTE |
範例測資
範例輸入 | 範例輸出 |
---|---|
EOF 輸入,含有大約 2000 行的輸入。每行含有一個字串 S。你可以假設所有的字母都是大寫英文字母,且字串的最大長度為 14。輸入以僅含有一個「#」的一行作為結束,該行不需處理。 | 除了最後一行以外,每一行輸入都要有一行輸出。 這行輸出含有輸出的序號及語言名稱。如果輸入字串是表格以外的字串則印出字串「UNKNOWN」。所有的輸出字串也都是大寫。 |
HELLO HOLA HALLO BONJOUR CIAO ZDRAVSTVUJTE # | Case 1: ENGLISH Case 2: SPANISH Case 3: GERMAN Case 4: FRENCH Case 5: ITALIAN Case 6: RUSSIAN |
解題思路
使用 If 來判斷該字串的語言為何,可以使用一個 Int 變數放在 EOF 外面來確認目前是第幾個Case。
範例程式碼-ZeroJudge A135: Language Detection
#include <iostream>
using namespace std;
int main() {
cin.sync_with_stdio(0);
cin.tie(0);
int count = 1;
string str;
while (cin >> str)
{
if (str == "#") break;
else
{
if (str == "HELLO") cout << "Case " << count << ": ENGLISH" << endl;
else if (str == "HOLA") cout << "Case " << count << ": SPANISH" << endl;
else if (str == "HALLO") cout << "Case " << count << ": GERMAN" << endl;
else if (str == "BONJOUR") cout << "Case " << count << ": FRENCH" << endl;
else if (str == "CIAO") cout << "Case " << count << ": ITALIAN" << endl;
else if (str == "ZDRAVSTVUJTE") cout << "Case " << count << ": RUSSIAN" << endl;
else cout << "Case " << count << ": UNKNOWN" << endl;
count++;
}
}
}
//ZeroJudge A135
//Dr. SeanXD