题目描述
输入格式:
每个输入包含 1 个测试用例。每个测试用例分别在 2 行中先后给出摊主的珠串和小红想做的珠串,两串都不超过 1000 个珠子。
输出格式:
如果可以买,则在一行中输出 Yes 以及有多少多余的珠子;如果不可以买,则在一行中输出 No 以及缺了多少珠子。其间以 1 个空格分隔。
输入样例 1:
ppRYYGrrYBR2258
YrR8RrY
输出样例 1:
Yes 8
输入样例 2:
ppRYYGrrYB225
YrR8RrY
输出样例 2:
No 2
实现代码
#include<string>
#include<iostream>
using namespace std;
int main(void)
{
string a,b;
getline(cin,a);
getline(cin,b);
int count=0;
for(int i=0,j=0;i<b.length();i++)
{
int flag=0;
for(j=0;j<a.length();j++)
{
if(a[j]==b[i]&&a[j]!='\0')//表示找到珠子
{
a[j]='\0';//对应珠子位置置空
flag=1;
break;
}
}
if(flag==0&&j==a.length())
{
count++;
}
}
if(count!=0)
{
cout<<"No "<<count<<endl;
}
else
{
cout<<"Yes ";
int num=0;
for(int i=0;i<a.length();i++)
{
if(a[i]!='\0')
{
num++;
}
}
cout<<num<<endl;
}
}