0%

PAT A1092 To Buy or Not to Buy

题目链接

解题思路

使用一个int型数组表示128个ASCII码,然后,遍历shop字符串,每个对应加一,遍历eva的字符串,对应减一,最后遍历ans数组,分别用z,f变量表示多余的珠子和缺少珠子的个数。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdio>
#include <cstring>
const int maxn=1000;
int ans[128];
char shop[maxn],eva[maxn];

int main(){
scanf("%s",shop);
scanf("%s",eva);
memset(ans,0,sizeof(ans));
int l1=strlen(shop);
int l2=strlen(eva);
for(int i=0;i<l1;i++) ans[shop[i]]++;
for(int i=0;i<l2;i++) ans[eva[i]]--;
int z=0,f=0;
for(int i=0;i<128;i++){
if (ans[i]>0) z+=ans[i];
if (ans[i]<0) f+=ans[i];
}
if (f<0) printf("No %d",-f);
else printf("Yes %d",z);
return 0;
}

本文标题:PAT A1092 To Buy or Not to Buy

文章作者:GavinYGM

发布时间:2020年08月27日 - 00:08

最后更新:2020年08月27日 - 00:08

原始链接:http://www.gavinygm.cn/2020/08/27/PAT-A1092-To-Buy-or-Not-to-Buy/

许可协议: 转载请保留原文链接及作者。