zoukankan      html  css  js  c++  java
  • T

    Problem description

    So, the New Year holidays are over. Santa Claus and his colleagues can take a rest and have guests at last. When two "New Year and Christmas Men" meet, thear assistants cut out of cardboard the letters from the guest's name and the host's name in honor of this event. Then the hung the letters above the main entrance. One night, when everyone went to bed, someone took all the letters of our characters' names. Then he may have shuffled the letters and put them in one pile in front of the door.

    The next morning it was impossible to find the culprit who had made the disorder. But everybody wondered whether it is possible to restore the names of the host and his guests from the letters lying at the door? That is, we need to verify that there are no extra letters, and that nobody will need to cut more letters.

    Help the "New Year and Christmas Men" and their friends to cope with this problem. You are given both inscriptions that hung over the front door the previous night, and a pile of letters that were found at the front door next morning.

    Input

    The input file consists of three lines: the first line contains the guest's name, the second line contains the name of the residence host and the third line contains letters in a pile that were found at the door in the morning. All lines are not empty and contain only uppercase Latin letters. The length of each line does not exceed 100.

    Output

    Print "YES" without the quotes, if the letters in the pile could be permuted to make the names of the "New Year and Christmas Men". Otherwise, print "NO" without the quotes.

    Examples

    Input

    SANTACLAUS
    DEDMOROZ
    SANTAMOROZDEDCLAUS

    Output

    YES

    Input

    PAPAINOEL
    JOULUPUKKI
    JOULNAPAOILELUPUKKI

    Output

    NO

    Input

    BABBONATALE
    FATHERCHRISTMAS
    BABCHRISTMASBONATALLEFATHER

    Output

    NO

    Note

    In the first sample the letters written in the last line can be used to write the names and there won't be any extra letters left.

    In the second sample letter "P" is missing from the pile and there's an extra letter "L".

    In the third sample there's an extra letter "L".

    解题思路:题目的意思就是将第一行字符串和第二行的字符串中的字母随机打乱顺序并且拼接起来和第三行的字符串比较,如果第三行的字符串刚好为前两行字符串中的字母组成,则输出"YES",否则输出"NO"。做法:采用map容器,键为字母序号,值为该字母出现的次数,如果前两行每个字母出现的次数和第三行对应字母出现的次数都相同,则输出"YES",否则输出"NO",水过。

    AC代码:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int main(){
     4     map<int,int> mp1,mp2;
     5     for(int i=0;i<26;++i)mp1[i]=mp2[i]=0;
     6     char s1[105],s2[105],s3[105];
     7     cin>>s1>>s2>>s3;
     8     for(int i=0;s1[i]!='';++i)mp1[s1[i]-'A']++;
     9     for(int i=0;s2[i]!='';++i)mp1[s2[i]-'A']++;
    10     for(int i=0;s3[i]!='';++i)mp2[s3[i]-'A']++;
    11     bool flag=false;
    12     for(int i=0;i<26;++i)
    13         if(mp1[i]!=mp2[i]){flag=true;break;}
    14     if(flag)cout<<"NO"<<endl;
    15     else cout<<"YES"<<endl;
    16     return 0;
    17 }
  • 相关阅读:
    celery的使用和原理
    内核通知链
    数据流中的中位数
    二叉搜索树的后序遍历序列
    Javascript设计模式系统讲解与应用,JS设计模式详解
    微服务系列之ZooKeeper注册中心和Nacos注册中心
    微信小程序开发详解:小程序入门与实战-纯正商业级应用技术
    Java零基础该怎么去学习Java?学好Java应该如何去做?
    Flutter从入门到进阶实战携程网App项目详解
    Python升级3.6强力Django+杀手级Xadmin打造在线教育平台
  • 原文地址:https://www.cnblogs.com/acgoto/p/9192482.html
Copyright © 2011-2022 走看看