1039 到底买不买(pat乙级、C++)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                1039 到底买不买(pat乙级、C++)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                題目
小紅想買些珠子做一串自己喜歡的珠串。賣珠子的攤主有很多串五顏六色的珠串,但是不肯把任何一串拆散了賣。于是小紅要你幫忙判斷一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告訴她有多少多余的珠子;如果不是,那么告訴她缺了多少珠子。
為方便起見(jiàn),我們用[0-9]、[a-z]、[A-Z]范圍內(nèi)的字符來(lái)表示顏色。例如在圖1中,第3串是小紅想做的珠串;那么第1串可以買,因?yàn)榘巳克胍闹樽?#xff0c;還多了8顆不需要的珠子;第2串不能買,因?yàn)闆](méi)有黑色珠子,并且少了一顆紅色的珠子。
 
 圖1
輸入格式:
每個(gè)輸入包含 1 個(gè)測(cè)試用例。每個(gè)測(cè)試用例分別在 2 行中先后給出攤主的珠串和小紅想做的珠串,兩串都不超過(guò) 1000 個(gè)珠子。
輸出格式:
如果可以買,則在一行中輸出 Yes 以及有多少多余的珠子;如果不可以買,則在一行中輸出 No 以及缺了多少珠子。其間以 1 個(gè)空格分隔。
輸入樣例 1:
ppRYYGrrYBR2258 YrR8RrY輸出樣例 1:
Yes 8輸入樣例 2:
ppRYYGrrYB225 YrR8RrY輸出樣例 2:
No 2分析
設(shè)攤主的珠串為s1,小紅想做的珠串為s2.
AC代碼
#include<iostream> #include<string> using namespace std; int main() {string s1,s2,flag="Yes";int i,count[123]= {0},count2[123]={0},diff[123]={0};cin>>s1>>s2;for(i=0; i<s1.length(); i++){count[s1[i]]++;}for(i=0; i<s2.length(); i++){count2[s2[i]]++;}int sum=0;for(i=0; i<123; i++){if(count2[i]>count[i]){flag="No";diff[i]=count2[i]-count[i];sum=sum+diff[i];}}if(flag=="Yes"){cout<<flag<<" "<<s1.length()-s2.length();}else{cout<<flag<<" "<<sum;}return 0;}更多題解
 pat 乙級(jí)(Basic Level) 題解匯總(持續(xù)更新)(C++)
總結(jié)
以上是生活随笔為你收集整理的1039 到底买不买(pat乙级、C++)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 升级 iOS 16 后 iPhone 1
 - 下一篇: iPhone 14 使用技巧:通过自带的