1039 到底买不买(pat乙级、C++)

题目

小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。

为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含了全部她想要的珠子,还多了8颗不需要的珠子;第2串不能买,因为没有黑色珠子,并且少了一颗红色的珠子。
图1
图1

输入格式:

每个输入包含 1 个测试用例。每个测试用例分别在 2 行中先后给出摊主的珠串和小红想做的珠串,两串都不超过 1000 个珠子。

输出格式:

如果可以买,则在一行中输出 Yes 以及有多少多余的珠子;如果不可以买,则在一行中输出 No 以及缺了多少珠子。其间以 1 个空格分隔。

输入样例 1:

ppRYYGrrYBR2258 YrR8RrY

输出样例 1:

Yes 8

输入样例 2:

ppRYYGrrYB225
YrR8RrY

输出样例 2:

No 2

分析

设摊主的珠串为s1,小红想做的珠串为s2.

  1. 本题实际是要我们比对s1和s2中相同字符的个数
  2. 使用2个长度为123('z’的ASCII码+1)count、count2分别来存储s1各个字符的个数和s2各个字符的个数,用变量diff记录两者相同字符个数之差,用变量sum来记录总的缺多少。
  3. 如果count2[i]>count[i],把diff累加到sum里。同时用一个变量flag来记录珠子多余还是缺。

AC代码

#include<iostream>
#include<string>
using namespace std;
int main()
{string s1,s2,flag="Yes";int i,count[123]= {0},count2[123]={0},diff[123]={0};cin>>s1>>s2;for(i=0; i<s1.length(); i++){count[s1[i]]++;}for(i=0; i<s2.length(); i++){count2[s2[i]]++;}int sum=0;for(i=0; i<123; i++){if(count2[i]>count[i]){flag="No";diff[i]=count2[i]-count[i];sum=sum+diff[i];}}if(flag=="Yes"){cout<<flag<<" "<<s1.length()-s2.length();}else{cout<<flag<<" "<<sum;}return 0;}

更多题解
pat 乙级(Basic Level) 题解汇总(持续更新)(C++)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ns3中调试程序------命令行、gdb和logging系统

1、在调试代码时候&#xff0c;一直没有弄明白NS_LOG中的各种函数是如何使用的&#xff0c;甚至现在运行程序只知道&#xff0c;./waf –run&#xff0c;至于输出调试信息&#xff0c;现在真的是没有弄明白&#xff0c;不利于代码的理解和调试。 2、通过命令行&#xff0c;改变…

1043 输出PATest(PAT乙级 C++)

题目 给定一个长度不超过 10​4的、仅由英文字母构成的字符串。请将字符重新调整顺序&#xff0c;按 PATestPATest… 这样的顺序输出&#xff0c;并忽略其它字符。当然&#xff0c;六种字符的个数不一定是一样多的&#xff0c;若某种字符已经输出完&#xff0c;则余下的字符仍…

ModuleNotFoundError: No module named ‘apt_pkg‘

原因 升级到python3.6会导致python库的引用产生混乱 解决方法 先选择删除python-apt apt-get remove --purge python-apt 安装python-apt apt-get install -f -y python-apt 拷贝python3.5的apt-pkg*.so 名重名为python3.6的apt-pkg*.so cd /usr/lib/python3/dist-packag…

使用Selenium Webdriver进行全屏截图

在任何网页测试人员中&#xff0c;执行效果最好的操作之一就是对网页进行截图。 每当测试人员发现并报告错误时&#xff0c;如果不支持该问题的屏幕截图甚至视频&#xff0c;就不会认真对待该错误。 不论您进行的测试类型是什么&#xff0c;包括硒自动化测试&#xff0c;都是如…

子进程 已安装 post-installation 脚本 返回错误状态 1 dpkg: 依赖关系问题使得 mysql-server 的配置工作不能继续: mysql-server 依赖于 mysq

错误概述 有 2 个软件包没有被完全安装或卸载。 解压缩后会消耗 0 B 的额外空间。 您希望继续执行吗&#xff1f; [Y/n] y 正在设置 mysql-server-5.7 (5.7.24-0ubuntu0.16.04.1) ... mysql_upgrade: Got error: 2002: Cant connect to local MySQL server through socket /va…

1046 划拳 PAT乙级(C++)

题目 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为&#xff1a;每人口中喊出一个数字&#xff0c;同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和&#xff0c;谁就赢了&#xff0c;输家罚一杯酒。两人同赢或两人同输则继续下一…

只读副本和Spring Data第4部分:配置只读存储库

以前&#xff0c;我们在同一应用程序中设置了两个EntityManager。 一种用于读取&#xff0c;另一种用于写入。 现在是时候创建我们的读取存储库了。 只读存储库将使用辅助只读EntityManager。 为了使其成为只读存储库&#xff0c;至关重要的是不要执行任何保存和持久操作。 p…

c++中 int, long long, double 等数据类型的长度及范围整理

先附上一个比较直观的表&#xff0c;长度表示字节: byte: 字节 bit: 位 1. 短整型short&#xff1a; 所占内存大小&#xff1a;2byte16bit&#xff1b; 所能表示范围&#xff1a;-32768~32767&#xff1b;(即-2^15~2^15-1) 2. 整型int&#xff1a; 所占内存大小&#xff1a;4…

1044 火星数字 PAT乙级 (C++)

题目 火星人是以 13 进制计数的&#xff1a; 地球人的 0 被火星人称为 tret。地球人数字 1 到 12 的火星文分别为&#xff1a;jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。火星人将进位以后的 12 个高位数字分别称为&#xff1a;tam, hel, maa, huh, tou, …

怎样编写测试类测试分支_编写干净的测试–从配置开始

怎样编写测试类测试分支很难为干净的代码找到一个好的定义&#xff0c;因为我们每个人都有自己的单词clean的定义。 但是&#xff0c;有一个似乎是通用的定义&#xff1a; 简洁的代码易于阅读。 这可能会让您感到有些惊讶&#xff0c;但我认为该定义也适用于测试代码。 使测试…

python 数据处理----读取txt 一列数据写入excel 文件

将txt数据从某一行开始写入excel文件中&#xff08;例子为从Appthroughput写至excel_result1.xlsx中&#xff09; import sys import random import time import xlwt import codecsdef Txt_to_Excel(wb,inputTxt,start_row,start_col):fr codecs.open(inputTxt,r)line_numbe…

CCF CSP 201403-1 相反数(C++)

题目 问题描述 有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。 输入格式 第一行包含一个正整数 N。(1 ≤ N ≤ 500)。   第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。 输出…

硒等待:内隐,外显,流利和睡眠

Selenium等待页面加载在Selenium脚本中起着重要的作用。 它们有助于使它们不易剥落&#xff0c;更可靠。 Selenium提供多次等待&#xff0c;以根据某些条件在脚本执行中提供足够的等待或暂停。 从而确保您在使用Selenium执行自动化测试时不会导致脚本失败。 在本教程中&#xf…

python多个变量的for循环

当for循环有两个需要迭代的对象时&#xff0c;要用zip对这多个变量封装&#xff0c;否则会报错“too many values to unpack” 错误的例子&#xff1a; starts [0,1,2,3,4]ends [5,6,7,8,9]for start, end in starts, ends:print((start, end)) 正确的例子&#xff1a; sta…

1040 有几个PAT(PAT乙级 C++)

题目 字符串 APPAPT 中包含了两个单词 PAT&#xff0c;其中第一个 PAT 是第 2 位(P&#xff09;&#xff0c;第 4 位(A)&#xff0c;第 6 位(T)&#xff1b;第二个 PAT 是第 3 位(P&#xff09;&#xff0c;第 4 位(A)&#xff0c;第 6 位(T)。 现给定字符串&#xff0c;问一…

在win10+Ubuntu双系统下,完美卸载Ubuntu

本文为转载博客&#xff0c;亲测有效 背景 机器&#xff1a;惠普 暗影精灵3 win10与Ubuntu16.04均为UEFI分区 清除ubuntu系统 使用软件&#xff1a;diskgenius   删除Ubuntu系统使用的几个分区&#xff08;包括EFI分区&#xff09;&#xff0c;注意不要删除Windows的EFI分…

1048 数字加密(PAT乙级 C++)

题目 本题要求实现一种数字加密方法。首先固定一个加密用正整数 A&#xff0c;对任一正整数 B&#xff0c;将其每 1 位数字与 A 的对应位置上的数字进行以下运算&#xff1a;对奇数位&#xff0c;对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12&…

在浏览器中在线尝试无服务器框架项目!

无服务器框架是无服务器工具的一致领导者。 但是&#xff0c;没有简单的方法可以在线试用无服务器框架项目。 您确实需要一个体面的开发人员设置&#xff0c;并且需要一些工作来设置sls &#xff0c; npm等。 确切地说&#xff0c;您做到了 –直到现在。 无服务器项目–在您的…

Dev C++源代码未编译

从DevC官网下载的编译器&#xff0c;结果编译程序没问题&#xff0c;但是运行程序时显示源文件未编译。 尝试很多方法。&#xff08;官网下载不一定最佳&#xff09;最后通过在其他网站下载重装DevC问题得以解决。 后一个DevC下载网址&#xff1a; https://pc.qq.com/detail/1…

1051 复数乘法(PAT乙级 C++)

题目 复数可以写成 (ABi) 的常规形式&#xff0c;其中 A 是实部&#xff0c;B 是虚部&#xff0c;i 是虚数单位&#xff0c;满足 i​2​​ −1&#xff1b;也可以写成极坐标下的指数形式 (Re​(Pi))&#xff0c;其中 R 是复数模&#xff0c;P 是辐角&#xff0c;i 是虚数单位&…