---
# System prepended metadata

title: List of Conquests
tags: [UVA]

---

# List of Conquests
題目連結 [UVA 10420](https://onlinejudge.org/external/104/10420.pdf)
## 中文敘述
第一行先輸入一個數字N，接下來的N行中都有一個國家和兩個人名。最後輸出國家和出現的次數(高到低排列)
## [think]
因為國家都在第一個字，所以先用`cin>>`來輸入，存到`map`的`key`裡面，並且`value`+1。
剩下的人名用`getline()`取得就好了。

## reference
* [map](/g7RkUjAdQw2CyhuOr_P2kA)
* [auto](/JQlCMVG1RCa9fqZ1eWQtyQ)
* [C++ 的各種輸入](/QAF9dONSQfauOx6Vcn8YNw)
## Solution

```
#include <bits/stdc++.h>
using namespace std;

int main() 
{
    int n;
    while(cin>>n)
    {
        map<string, int> ans;
        while (n--) 
        {
            string s;
            cin>>s;
            ans[s]++;
            getline(cin,s);
        }
    }

    for(auto[str,i] : ans)
    {
        cout<<str<<" "<<i<<endl;
    }
            
}

```
###### tags: `UVA`
回目錄 [學習筆記](/gIBZqAbWTCis7uOPp149gA)


