您的位置:首页 > 其它

PAT 1039. 到底买不买(20)

2016-04-09 21:52 232 查看
题目链接:https://www.patest.cn/contests/pat-b-practise/1039

解题思路:自己刚开始想的是用两个字符串来做,搜别人题解的时候发现别人一种很好的解题思路,是用string做的,感觉做的很巧妙





具体的代码如下:

#include<bits/stdc++.h>

using namespace std;

int main()
{
string s1,s2;
cin>>s1>>s2;
int len1,len2;
len1=s1.length();
len2=s2.length();
int sum=0;
bool flag=1;
for(int i=0;i<len2;i++)
{
int place=s1.find(s2[i],0);
if(place!=-1)
{
s1.erase(s1.begin()+place);

}
else
{
flag=0;
sum++;
}
}
if(!flag)
{
cout<<"No ";
cout<<sum;
}
else
{
cout<<"Yes ";
cout<<len1-len2;
}

return 0;
}


if(!flag) printf("NO %d",sum);
else printf("Yes %d",len1-len2);


最后的代码输出用下面的代码输出答案就是报只是部分正确,而用c++的cout输出就是AC,不知道为什么,等以后想明白再添上吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: