UVaOJ 755 - 487--3279

来源:互联网 发布:网络热点视频门 编辑:程序博客网 时间:2024/05/17 21:38

AOAPC I: Beginning Algorithm Contests (Rujia Liu) :: Volume 1. Elementary Problem Solving ::Sorting/Searching


Description

一个电话号码, 有不同的表示方式。

输入不同方式表示的电话号码。

输出所有出现超过一次的电话号码及其出现频率。


Type

Sorting/Searching


Analysis

利用 STL, 轻松加愉快。


Solution

// UVaOJ 755// 487--3279// by A Code Rabbit#include <algorithm>#include <cctype>#include <iostream>#include <map>#include <string>using namespace std;const char MAP[] = "22233344455566677778889999";int n;string tel;int main() {    int t;    cin >> t;    while (t--) {        // Input.        cin >> n;        cin.get();        map<string, int> cnt;          for (int i = 0; i < n; i++) {            getline(cin, tel);            tel.erase(remove(tel.begin(), tel.end(), '-'), tel.end());            for (int i = 0; i < tel.length(); i++)                if (isupper(tel[i]))                    tel[i] = MAP[tel[i] - 'A'];            tel.insert(3, "-");            cnt[tel]++;        }        // Output.        bool bo = false;        for (map<string, int>::iterator            iter = cnt.begin(); iter != cnt.end(); ++iter)        {            if (iter->second > 1) {                cout << iter->first + " " << iter->second << endl;                bo = true;            }        }        if (!bo) cout << "No duplicates." << endl;        if (t) cout << endl;    }    return 0;}

原创粉丝点击