PAT A1092 To Buy or Not to Buy
第一个串中元素进入hash数组并计数,第二个串中元素与数组消消乐,如果有消不掉的则cnt++。如果结束后cnt不为零则no,否则yes去数组里数数
#include<iostream>
#include<vector>
#include<string>
using namespace std;
#define MAXSIZE 256
vector<int> shot;
string input,target;
int cnt = 0;
int main(){
shot.resize(MAXSIZE);
cin >> input >> target;
for(int i = 0;i < input.length();i ++) shot[input[i]] ++;
for(int i = 0;i < target.length();i ++){
if(shot[target[i]] > 0) shot[target[i]] --;
else cnt ++;
}
if(cnt) cout << "No " << cnt;
else{
int remain = 0;
for(int i = 0;i < shot.size();i ++){
if(shot[i]) remain += shot[i];
}
cout << "Yes " << remain;
}
return 0;
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-30681.html