購入へのPAT高度1092に購入しないか(20分)

エヴァは、彼女はいくつかのビーズを買うために小さなお店に行ってきましたので、彼女の好きな色のビーズの文字列を作成したいと思います。ビーズの多くのカラフルな文字列がありました。しかし、店のオーナーは全体のみの作品内の文字列を販売します。したがって、エヴァは、ショップでの文字列は、彼女が必要とするすべてのビーズが含まれているかどうか確認する必要があります。彼女は今、助けのためにあなたに来る:答えがある場合は  Yes、彼女に彼女が購入している余分なビーズの数を教えてください。答えがある場合や  No、彼女の文字列から欠落しているビーズの数を教えてください。

簡略化のために、聞かせてのは、色を表現する範囲[0-9]、[AZ]、および[AZ]の文字を使用します。例えば、図1の第3列はエヴァを作りたいということです。それは8つの余分なものと必要なすべてのビーズが含まれているため、その後第一列は大丈夫です。黒いビーズ一つ少ない赤色のビーズが存在しないので、まだ第二一つはありません。

figbuy.jpg

図1

入力仕様:

各入力ファイルには、1つのテストケースが含まれています。各ケースは二行それぞれ、ショップのオーナーとエヴァに属していない1000個の以上のビーズの文字列になります。

出力仕様:

各テストケースの場合は、1行にあなたの答えを印刷します。答えがある場合は  Yes、その後も出力は余分なビーズの数はエヴァを購入する必要があります。答えがある場合や  No、ビーズのその後も出力数は、文字列から欠落しています。その答えと番号の間に正確に1スペースがなければなりません。

サンプル入力1:

ppRYYGrrYBR2258
YrR8RrY
 

サンプル出力1:

Yes 8
 

サンプル入力2:

ppRYYGrrYB225
YrR8RrY
 

出力例2:

No 2

この質問テスト元の文字列と文字列から成るたいと思います。

元の文字列は、文字列で構成することができた場合は、印刷の違いはい

文字列の損失はなく、それ以外の場合は、印刷ん

書式#include <iostreamの> 
の#include <unordered_map>
 使用して 名前空間はstdを、
INT メイン(){
     文字列A、B。
    unordered_map < チャーINT > M。
    int型は =失われた0を
    getline(CIN、A)。
    getline(CIN、B)。
    以下のためにINT iが= 0 ; I <A.length(); I ++ 
        M [A [I]] ++ ;
    以下のためにINT iが= 0 ; I <てb.length(); I ++ 場合(M [B [I]]>は0)M [B [I]] - 他の失われた++ ;
    もし(!紛失= 0)はcout << " ノー" << 失いました。
    他の裁判所未満<< " はい" << A.length() - のb.length();
    リターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/littlepage/p/12233102.html