模拟题目,题目只要看懂,就可以做出来。
本质上就是字符串处理+哈希表
1 #include<iostream> 2 #include<string.h> 3 4 using namespace std; 5 6 int main() 7 { 8 char a[1001],b[1001]; 9 int hashTable[128]={ 10 0 11 }; 12 gets(a); 13 gets(b); 14 int i=0,j=0; 15 int la=strlen(a),lb=strlen(b); 16 17 for(i=0;i<la;i++) 18 hashTable[a[i]]++; 19 int flag=0; 20 for(i=0;i<lb;i++) 21 { 22 hashTable[b[i]]--; 23 if(hashTable[b[i]]<0) 24 flag=1; 25 } 26 if(flag==0) 27 { 28 cout<<"Yes "; 29 int mout=0; 30 for(i=0;i<128;i++) 31 mout+=hashTable[i]; 32 cout<<mout<<endl; 33 }else 34 { 35 cout<<"No "; 36 int mout=0; 37 for(i=0;i<128;i++) 38 if(hashTable[i]<0) 39 mout+=hashTable[i]; 40 cout<<-mout<<endl; 41 } 42 43 44 return 0; 45 }