1. 程式人生 > >7-14 電話聊天狂人 (25 分)

7-14 電話聊天狂人 (25 分)

給定大量手機使用者通話記錄,找出其中通話次數最多的聊天狂人。

輸入格式:

輸入首先給出正整數N(≤10​5​​),為通話記錄條數。隨後N行,每行給出一條通話記錄。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。

輸出格式:

在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則輸出狂人中最小的號碼及其通話次數,並且附加給出並列狂人的人數。

輸入樣例:

4
13005711862 13588625832
13505711862 13088625832
13588625832 18087925832
15005713862 13588625832

輸出樣例:

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

int main()
{
    map<string,int>mp;
    int cnt=0,n,maxn=0;
    string s,ss;
    cin>>n;
    for(int i=0;i<2*n;i++){
        cin>>s;
        mp[s]++;
    }
    map<string,int>::iterator it;
    for(it=mp.begin
();it!=mp.end();it++){ if(it->second>maxn){ ss=it->first; maxn=it->second; } } for(it=mp.begin();it!=mp.end();it++){ if(it->second==maxn){ cnt++; } } cout<<ss<<" "<<maxn; if(cnt!=
1)cout<<" "<<cnt<<endl; }