ZeroJudge A743: List of Conquests

題目敘述

每筆測資第一行有一個正整數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";
    }
}

留言