题目链接

题目描述
继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替 ("ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"), 然后随机打乱这些字母,所生成的字符串即为电话号码对应的分身。

#include<iostream>
#include<algorithm>
#include<cstring>
#include<map>
using namespace std;
int main()
{
    int n;
    int a[10];
    string s;
    cin>>n;
    while(n--)
    {
        cin>>s;
        map<char,int> m;
        for(int i=0;i<s.length();++i)
        {
            m[s[i]]++;
        }
        for(int i=0;i<10;++i) a[i]=0; 
        if(m['Z'])                //找0 
        {
            a[0]+=m['Z'];
            while(m['Z'])
            {
                m['Z']--;
                m['E']--;
                m['R']--;
                m['O']--;                 
            }
        }
        if(m['W'])                //找2        
        {
            a[2]+=m['W'];
            while(m['W'])
            {
                m['T']--;
                m['W']--;
                m['O']--;                
            } 
        }
        if(m['U'])                //找4        
        {
            a[4]+=m['U'];
            while(m['U'])
            {
                m['F']--;
                m['O']--;
                m['U']--;
                m['R']--;                 
            }
        }
        if(m['R'])                //找3        
        {
            a[3]+=m['R'];
            while(m['R'])
            {
                m['T']--;
                m['H']--;
                m['R']--;
                m['E']--;
                m['E']--;    
            }     
        }    
        if(m['O'])                //找1        
        { 
            a[1]+=m['O'];
            while(m['O'])
            {
                m['O']--;
                m['N']--;
                m['E']--;
            }     
        }
        if(m['F'])                //找5        
        {
            a[5]+=m['F'];
            while(m['F'])
            {
                m['F']--;
                m['I']--;
                m['V']--;
                m['E']--;                
            }
        }
        if(m['X'])                //找6        
        {
            a[6]+=m['X'];
            while(m['X'])
            {
                m['S']--;
                m['I']--;
                m['X']--;    
            } 
        }
        if(m['S'])                //找7        
        {
            a[7]+=m['S'];
            while(m['S'])
            {
                m['S']--;
                m['E']--;
                m['V']--;
                m['E']--;
                m['N']--;                
            }         
        }
        if(m['G'])                //找8        
        {
            a[8]+=m['G'];
            while(m['G'])
            {
                m['E']--;
                m['I']--;
                m['G']--;
                m['H']--;
                m['T']--;        
            }             
        }
        if(m['I'])                //找9        
        {
            a[9]+=m['I'];
            while(m['I'])
            {
                m['N']--;
                m['I']--;
                m['N']--;
                m['E']--;                
            }     
        }
        for(int i=8;i<=9;++i)
        {
            for(int j=0;j<a[i];++j)
            {
                cout<<(i+10-8)%10;
            }    
        }
        for(int i=0;i<=7;++i)
        {
            for(int j=0;j<a[i];++j)
            {
                cout<<(i+10-8)%10;
            }    
        } 
        cout<<endl; 
    }    
    return 0;
}
/*



*/
Last modification:September 21st, 2019 at 12:50 am
如果觉得我的文章对你有用,请随意赞赏