【笔试题】乒乓球筐-map

【笔试题】乒乓球筐-map



1、题目描述

  nowcoder有两盒(A,B)乒乓球,有红双喜的,有亚力亚的……现在他需要判别A盒是否包含了B盒中所有的种类,并且有多个球的数量过多于B盒中的数量,该怎么办呢?


2、输入描述

  输入有多组数据。每组数据包含两个字符串A,B,代表A盒与B盒中的乒乓球,每个乒乓球用一个大写字母表示,即相同类型的乒乓球为相同的大写字母。长度不大于10000。


3、输出描述

  每一组输入对应一行输出:如果B盒中所有球的类型在A中都有,并且每个球的数量都不大于A,则输出“是”;否则输出“否”。


4、示例

输入:
    ABCDFYE CDE

    ABCDGEAS CDECDE

输出:
    Yes

​     No


5、分析

​ map的语法


6、代码

#include<iostream>
#include<string>
#include<map>
using namespace std;
int main()
{
    
    
    string A,B;
    while(cin>>A>>B)
    {
    
    
        map<char,int> AA,BB;
        for(int i=0; i<A.size(); ++i)
        {
    
    
            AA[A[i]]++;
        }
        for(int i=0; i<B.size(); ++i)
        {
    
    
            BB[B[i]]++;
        }
        for(int i='A'; i<='Z'; ++i)
        {
    
    
            if(BB[i]>AA[i])
            {
    
    
                cout<<"No"<<endl;
                break;
            }
            if(i=='Z')
            {
    
    
                 cout<<"Yes"<<endl;
            }
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Sunnyside_/article/details/115030638