題目敘述
每筆測資第一行有一個正整數N,接下來會有N行,每行的第一個字為一個國家名稱,剩下的字串為一個人名。要求輸出每一個國家出現的次數。
範例輸入 #1
3
Spain Donna Elvira
England Jane Doe
Spain Donna Anna
範例輸出 #1
England 1
Spain 2
解題思路
使用Map來紀錄每一個國家的出現次數,輸出時使用For跟Auto來將Map中的資料輸出。
解題程式碼如下 (僅供參考):
#include <iostream>
#include <map>
using namespace std;
int main() {
cin.sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
string a;
getline(cin, a);
map<string, int>MAP;
for (int i = 0; i<N; i++)
{
string str;
getline(cin, str);
string country = "";
for (int j = 0; j<str.length(); j++)
{
if (str[j] == ' ') break;
country += str[j];
}
MAP[country]++;
}
for (auto it:MAP)
{
cout << it.first << " " << it.second << "\n";
}
}
留言
張貼留言