【PAT】1092. To Buy or Not to Buy

来源:互联网 发布:照片说话软件 编辑:程序博客网 时间:2024/05/01 18:48
#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int h[130];int s[130];int main(){    #ifdef LOCAL        freopen("data.in","r",stdin);        freopen("data.out","w",stdout);    #endif // LOCAL    char str[1010],ans[1010];    gets(str);    gets(ans);    int len = strlen(str);    int len1=strlen(ans);    int num=0;    for(int i=0;i<len;i++){        h[str[i]]++;    }    for(int i=0;i<len1;i++)        s[ans[i]]++;    for(int i=0;i<len1;i++){        if(h[ans[i]]>=s[ans[i]]) num++;        else if(h[ans[i]]<s[ans[i]] &&h[ans[i]]){            num++;            h[ans[i]]--;        }    }       if(num==len1){        printf("Yes %d",len-len1);    }else printf("No %d",len1-num);    return 0;}
关键:细节处理,这里注意判断时候要准确,比如这里h<s元素不代表num不可以自增
0 0