zoukankan      html  css  js  c++  java
  • 4873279(1002)

    #pragma warning (disable:4786)
    #include <iostream>
    #include <map>
    #include <algorithm>
    #include <string>
    #include <vector>
    using namespace std;

    typedef struct
    {
    string first;
    int second;
    }res;

    bool less_first(res tmp1,res tmp2)
    {
    return tmp1.first<tmp2.first;
    }

    bool my_equal(res tmp1,res tmp2)
    {
    return tmp1.first==tmp2.first;
    }

    void main()
    {
    map<char,char> li;
    map<char,char>::iterator mit;
    li['A']='2';li['B']='2';li['C']='2';
    li['D']='3';li['E']='3';li['F']='3';
    li['G']='4';li['H']='4';li['I']='4';
    li['J']='5';li['K']='5';li['L']='5';
    li['M']='6';li['N']='6';li['O']='6';
    li['P']='7';li['R']='7';li['S']='7';
    li['T']='8';li['U']='8';li['V']='8';
    li['W']='9';li['X']='9';li['Y']='9';
    int line;
    cin>>line;
    string temp;
    vector<string> str;
    vector<string>::iterator sit;
    string::iterator strit;

    int i;
    for (i=0;i<line;i++)
    {
    cin>>temp;
    str.push_back(temp);
    }

    for (sit=str.begin();sit!=str.end();sit++)
    {
    strit=remove(sit->begin(),sit->end(),'-');
    sit->erase(strit,sit->end());
    }

    for (sit=str.begin();sit!=str.end();sit++)
    for (mit=li.begin();mit!=li.end();mit++)
    for (strit=sit->begin();strit!=sit->end();strit++)
    if (*strit==mit->first)
    *strit=mit->second;

    res tmp;
    vector<res> result;
    vector<res>::iterator resit;

    int num;
    int j;
    for (i=0;i<str.size()-1;i++)
    {
    num=1;
    temp=str[i];
    for (j=i+1;j<str.size();j++)
    {
    if (temp==str[j])
    {
    num++;
    }
    }
    if (num!=1)
    {
    tmp.first=temp;
    tmp.second=num;
    result.push_back(tmp);
    }
    }
    if (result.empty())
    {
    cout<<"No duplicates."<<endl;
    }
    else
    {
    sort(result.begin(),result.end(),less_first);
    result.erase(unique(result.begin(),result.end(),my_equal),result.end());
    for (resit=result.begin();resit!=result.end();resit++)
    {
    resit->first.insert(resit->first.begin()+3,1,'-');
    cout<<resit->first<<""<<resit->second<<endl;
    }
    }
    }
  • 相关阅读:
    织梦删除不需要的文件及文件安全设置
    织梦安全设置
    阿里云一个虚拟主机安装多个织梦系统
    显示织梦模板不存在的解决方法
    织梦安装
    织梦修改数据库密码
    CSS实现兼容性的渐变背景(gradient)效果
    css边框样式、边框配色、边框阴影、边框圆角、图片边框
    织梦后台编辑器添加中文字体
    织梦安装百度编辑器
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2343793.html
Copyright © 2011-2022 走看看