C++学习之路 | PTA乙级—— 1039 到底买不买 (20 分)(精简)
生活随笔
收集整理的這篇文章主要介紹了
C++学习之路 | PTA乙级—— 1039 到底买不买 (20 分)(精简)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1039 到底買不買 (20 分)
小紅想買些珠子做一串自己喜歡的珠串。賣珠子的攤主有很多串五顏六色的珠串,但是不肯把任何一串拆散了賣。于是小紅要你幫忙判斷一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告訴她有多少多余的珠子;如果不是,那么告訴她缺了多少珠子。
為方便起見,我們用[0-9]、[a-z]、[A-Z]范圍內的字符來表示顏色。例如在圖1中,第3串是小紅想做的珠串;那么第1串可以買,因為包含了全部她想要的珠子,還多了8顆不需要的珠子;第2串不能買,因為沒有黑色珠子,并且少了一顆紅色的珠子。
圖 1
輸入格式:
每個輸入包含 1 個測試用例。每個測試用例分別在 2 行中先后給出攤主的珠串和小紅想做的珠串,兩串都不超過 1000 個珠子。
輸出格式:
如果可以買,則在一行中輸出 Yes 以及有多少多余的珠子;如果不可以買,則在一行中輸出 No 以及缺了多少珠子。其間以 1 個空格分隔。
輸入樣例 1:
ppRYYGrrYBR2258
YrR8RrY
輸出樣例 1:
Yes 8
輸入樣例 2:
ppRYYGrrYB225
YrR8RrY
輸出樣例 2:
No 2
#include<iostream> using namespace std; int main() {int count_less = 0;string str1,str2;cin >> str1 >> str2;for (int i = 0; i < str2.size(); i++){if (str1.find(str2[i]) == string::npos)count_less++;else str1.erase(str1.find(str2[i]),1);}//cout << str1 << " " << str2;if (count_less == 0)cout <<"Yes "<<str1.size();else cout << "No "<<count_less; }總結
以上是生活随笔為你收集整理的C++学习之路 | PTA乙级—— 1039 到底买不买 (20 分)(精简)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring框架做全局异常捕获_@Con
- 下一篇: js中立即执行函数会预编译吗_JavaS