题目

1039 到底买不买 
小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。
于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;
如果不是,那么告诉她缺了多少珠子。
为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。
例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含了全部她想要的珠子,还多了8颗不需要的珠子;
第2串不能买,因为没有黑色珠子,并且少了一颗红色的珠子。
figbuy.jpg
图 1
输入格式:
每个输入包含 1 个测试用例。每个测试用例分别在 2 行中先后给出摊主的珠串和小红想做的珠串,两串都不超过 1000 个珠子。
输出格式:
如果可以买,则在一行中输出 Yes 以及有多少多余的珠子;如果不可以买,则在一行中输出 No 以及缺了多少珠子。其间以 1 个空格分隔。
输入样例 1:
ppRYYGrrYBR2258
YrR8RrY
输出样例 1:
Yes 8
输入样例 2:
ppRYYGrrYB225
YrR8RrY
输出样例 2:
No 2

代码

#include"bits/stdc++.h"
using namespace std;
int main()
{
char S[1005],B[1005];
int a[200]={0},cnt1=0,cnt2=0,i;
bool flag=true;
cin>>S>>B;
int l1=strlen(S),l2=strlen(B);
for(i=0;i<l1;i++) a[S[i]]++;
for(i=0;i<l2;i++)
{
if(a[B[i]]==0)
{
flag=false;
cnt1++;
}
else a[B[i]]--;
}
for(i=0;i<l1;i++)
{
if(a[S[i]]!=0)
{
a[S[i]]--;
cnt2++;
}
} if(flag==false) cout<<"No"<<' '<<cnt1;
else cout<<"Yes"<<' '<<cnt2;
return 0;
}

这里需要注意一下需要记录一下每个珠子的数量因为后面需要对求多多少珠子,或者缺多少珠子。

PTA乙级1039(C++)散列表解法的更多相关文章

  1. pta L2-002 链表去重 +散列表知识小普及+二进制取反补码运算

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805072641245184: 废话:今天忙着学习新知识了,没怎 ...

  2. PTA散列表平方探测法解决冲突

    PTA散列表平方探测法解决冲突 核心问题   当所有的位置都被填上了,且不能插入关键词,要进入死循环了怎么办? 题目   本题的任务很简单:将给定的无重复正整数序列插入一个散列表,输出每个输入的数字在 ...

  3. 散列表PTA判断

    1-1 在散列表中,所谓同义词就是具有相同散列地址的两个元素. (1分) T         F 作者 DS课程组 单位 浙江大学   1-2 采用平方探测冲突解决策略(h​i​​(k)=(H(k)+ ...

  4. 深入浅出数据结构C语言版(14)——散列表

    我们知道,由于二叉树的特性(完美情况下每次比较可以排除一半数据),对其进行查找算是比较快的了,时间复杂度为O(logN).但是,是否存在支持时间复杂度为常数级别的查找的数据结构呢?答案是存在,那就是散 ...

  5. 数据结构--hashtable(散列表)

    散列 散列又叫hash.是通过关键字把数据映射到指定位置的一种数据结构.理想的散列表,是一个包含关键字的固定大小的数组 哈希表存储的是键值对,其查找的时间复杂度与元素数量多少无关,哈希表在查找元素时是 ...

  6. 散列表(hash table)——算法导论(13)

    1. 引言 许多应用都需要动态集合结构,它至少需要支持Insert,search和delete字典操作.散列表(hash table)是实现字典操作的一种有效的数据结构. 2. 直接寻址表 在介绍散列 ...

  7. HashTable(散列表)

    最近都在研究数据结构,关于hashtable,或者叫做散列表,过去一直不了解是什么东西,现在终于明白了. 所谓hashtable,就是某组key,通过某个关系(函数),得到一个与之对应的映射值(在计算 ...

  8. &11,散列表

    #1,是什么? 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个 ...

  9. [转载] 散列表(Hash Table)从理论到实用(上)

    转载自:白话算法(6) 散列表(Hash Table)从理论到实用(上) 处理实际问题的一般数学方法是,首先提炼出问题的本质元素,然后把它看作一个比现实无限宽广的可能性系统,这个系统中的实质关系可以通 ...

  10. [转载] 散列表(Hash Table)从理论到实用(中)

    转载自:白话算法(6) 散列表(Hash Table)从理论到实用(中) 不用链接法,还有别的方法能处理碰撞吗?扪心自问,我不敢问这个问题.链接法如此的自然.直接,以至于我不敢相信还有别的(甚至是更好 ...

随机推荐

  1. Unity UGUI的Mask(遮罩)组件的介绍及使用

    Unity UGUI的Mask(遮罩)组件的介绍及使用 1. 什么是Mask组件? Mask(遮罩)组件是Unity UGUI中的一个重要组件,用于限制子对象的可见区域.通过设置遮罩组件,可以实现一些 ...

  2. 永远拥抱开放生态 | Metaworld2.0能力发布

    ​ 回看过去的二十年,互联网从门户网站发布信息,用户只能获取阅读:到如今的人人生产内容,再借助各类平台设施上传投递给其他用户.这个过程中,内容生产力的分布从集中转为分散,恰似互联网从1.0走向2.0的 ...

  3. pip安装pyinstaller失败的解决方法

    错误情况: 从下面错误来看,是安装build的依赖失败 解决方法: 下载setup.py文件来安装 1.先下载 pyinstaller的安装文件,下载地址:http://www.pyinstaller ...

  4. Mysql高级2-SQL性能分析

    一.SQL执行频率 MySQL客户端 连接成功后,通过show [session | global] status 命令可以提供服务器状态信息,通过如下指令,可以查看当前数据库的insert,upda ...

  5. html5 2.0学习

    列表定义:是一种特别的对象集合.集合:集中在一起合二为一(聚集). 聚集:多个列(信息资源)排在一起.信息资源:一堆数据,可能是字符,可能是图片. 列表分类:有序列表 无序列表  (自)定义列表  有 ...

  6. 数仓备份经验分享丨详解roach备份原理及问题处理套路

    本文分享自华为云社区<GaussDB(DWS) 备份问题定位思路>,作者: yd_216390446. 前言 在数据库系统中,故障分为事务内部故障.系统故障.介质(磁盘)故障.对于事务内部 ...

  7. vscode 中 Markdown 粘贴图片的位置

    背景 自从 typora 开始收费后, 不少人开始寻找其他的 Markdown编辑器, 我觉得 vscode 就是一个很不错的选择 虽然不能像 typora 在Markdown预览中编辑, 但是左右布 ...

  8. ChatGPT如何生成可视化图表-示例中国近几年出生人口

    本教程收集于:AIGC从入门到精通教程汇总 ChatGPT本身不能直接生成可视化图表,但可以配合其他可视化工具或库 方法一:前端可视化开发库 Echarts(地址:Apache ECharts ) 方 ...

  9. QA|20221002|SecureCRT中退格键变成了^H

    原因:backspace键和delete键的键码映射问题   解决办法一:要使用回删键(backspace)时,同时按住ctrl键   解决办法二:重新设置码值映射关系.比如SecureCRT中,会话 ...

  10. 我们能从PEP 703中学到什么

    PEP703是未来去除GIL的计划,当然现在提案还在继续修改,但大致方向确定了. 对于实现细节我没啥兴趣多说,挑几个我比较在意的点讲讲. 尽量少依赖原子操作的引用计数 没了GIL之后会出现两个以上的线 ...