PAT 乙级1039 到底买不买(C语言)
1039 到底买不买 (20分)
小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。
为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含了全部她想要的珠子,还多了8颗不需要的珠子;第2串不能买,因为没有黑色珠子,并且少了一颗红色的珠子。
输入格式:
每个输入包含 1 个测试用例。每个测试用例分别在 2 行中先后给出摊主的珠串和小红想做的珠串,两串都不超过 1000 个珠子。
输出格式:
如果可以买,则在一行中输出 Yes 以及有多少多余的珠子;如果不可以买,则在一行中输出 No 以及缺了多少珠子。其间以 1 个空格分隔。
输入样例 1:
ppRYYGrrYBR2258
YrR8RrY
输出样例 1:
Yes 8
输入样例 2:
ppRYYGrrYB225
YrR8RrY
输出样例 2:
No 2
源程序:
#include<stdio.h>
#include<string.h>int main()
{char str1[1001],str2[1001];scanf("%s",str1);scanf("%s",str2);int len1,len2;len1=strlen(str1);len2=strlen(str2);int i;int a[62]={0},b[62]={0};for(i=0;i<len1;i++){/* 哈希法,0~9,0的ascll码值为45,A~Z,A的ascll码值为65,a~z,a的ascll码值为97;a[0]~a[9]存储1~9,a[10]~a[35]存储A~Z,a[36]~a[61]存储a~z. */if(str1[i]>='0'&&str1[i]<='9')a[str1[i]-48]++;else if(str1[i]>='A'&&str1[i]<='Z')a[str1[i]-65+10]++;elsea[str1[i]-97+36]++;}for(i=0;i<len2;i++){if(str2[i]>='0'&&str2[i]<='9')b[str2[i]-48]++;else if(str2[i]>='A'&&str2[i]<='Z')b[str2[i]-65+10]++;elseb[str2[i]-97+36]++;}int sum=0;for(i=0;i<62;i++){if(a[i]<b[i])sum+=(b[i]-a[i]);}if(!sum)printf("Yes %d",len1-len2);elseprintf("No %d",sum);return 0;
}
算法思路:
采用哈希法,统计摊主的和想做的珠串中各珠子的数量,两者比较,得出摊主珠子是否齐全,输出结果。
PAT 乙级1039 到底买不买(C语言)相关推荐
- PAT乙级 1039 到底买不买 (20分)
1039 到底买不买 (20分) 小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子? ...
- [PAT乙级]1039 到底买不买
小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子 ...
- PAT乙级 1039 到底买不买
小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子 ...
- PAT 乙级 1039. 到底买不买(20)Java版
小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子 ...
- C++/Python PAT 乙级 1039 到底买不买(20)
小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子 ...
- pat 乙级 1039 到底买不买 (20分)(C语言)
小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子 ...
- PAT(乙级) 1039 到底买不买
题目 题目链接 思路 用map记录每个字符各有多少个,然后依次查找有没有想要的字符,分为两种情况:1.找到了,要看数量够不够:2,未找到:用一个变量存储不够的字符数即可 代码 #include < ...
- C++学习之路 | PTA乙级—— 1039 到底买不买 (20 分)(精简)
1039 到底买不买 (20 分) 小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子 ...
- PAT 乙级1032 挖掘机技术哪家强(C语言,含判断点解析)
1032 挖掘机技术哪家强 为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过 10^5的正整数 ...
最新文章
- 1.2.2一个数可以有多少种用连续素数之和表示
- HTML5实例教程:OL标签的start属性和reversed属性
- 关闭Visual Studio中的自动代码分析
- 前后台分离使用cookie判断用户状态以及传递参数
- (常用API)正则表达式匹配练习
- python编程基础_月隐学python第2课
- windows系统磁盘使用记录(自用)
- WaitForSingleObject的使用
- Graph DataBase介绍
- 圆锥形怎么画_如何画圆锥体的展开图?
- 三层交换机实现不同vlan间通信
- python编程入门之二:数据类型与运算
- net_speeder发双倍包加速
- 对random.seed()函数的理解
- 数智经济转型下如何抢占文创发展新机遇?中国移动咪咕聚焦新一代年轻人需求
- IEEE754浮点数标准
- macbook黑屏_MacBook维修 苹果笔记本电脑进水不开机
- 兄弟们,我又回来了,干货太多让你们久等了
- P5431 【模板】乘法逆元2
- Ajax回调函数无反应及进erro问题记录。
热门文章
- 新U盘无盘符,格式化提示无权限的解决方案
- 微信公众号的配置及部署
- pycharm 误删后恢复
- 【步态识别】GQAN步态质量感知网络 算法学习《Gait Quality Aware Network: Toward the Interpretability of Silhouette-Based》
- oracle 删除表空间(tablespace)及数据文件的方法
- Towards Emotional Support Dialog Systems论文笔记
- Lua脚本介绍以及编辑器的介绍
- 给出3个参数,N,M,K,怪兽有N滴血,等着英雄来砍自己,英雄每一次打击,都会让怪兽流失[0~M]的血量,到底流失多少?每一次在[0~M]上等概率的获取一个值,求K次打击之后,英雄把怪兽砍死的概率
- 在Ubuntu下安装Wine QQ教程(本人亲测)
- 被 大电影数百亿恶搞的电影 列表