1092. To Buy or Not to Buy (20)
来源:互联网 发布:软件设计师中级证书 编辑:程序博客网 时间:2024/06/14 02:05
1092. To Buy or Not to Buy (20)
Eva would like to make a string of beads with her favorite colors so she went to a small shop to buy some beads. There were many colorful strings of beads. However the owner of the shop would only sell the strings in whole pieces. Hence Eva must check whether a string in the shop contains all the beads she needs. She now comes to you for help: if the answer is "Yes", please tell her the number of extra beads she has to buy; or if the answer is "No", please tell her the number of beads missing from the string.
For the sake of simplicity, let's use the characters in the ranges [0-9], [a-z], and [A-Z] to represent the colors. For example, the 3rd string in Figure 1 is the one that Eva would like to make. Then the 1st string is okay since it contains all the necessary beads with 8 extra ones; yet the 2nd one is not since there is no black bead and one less red bead.
Figure 1
Input Specification:
Each input file contains one test case. Each case gives in two lines the strings of no more than 1000 beads which belong to the shop owner and Eva, respectively.
Output Specification:
For each test case, print your answer in one line. If the answer is "Yes", then also output the number of extra beads Eva has to buy; or if the answer is "No", then also output the number of beads missing from the string. There must be exactly 1 space between the answer and the number.
Sample Input 1:ppRYYGrrYBR2258YrR8RrYSample Output 1:
Yes 8Sample Input 2:
ppRYYGrrYB225YrR8RrYSample Output 1:
No 2
/************************************************************************* > File Name: 1092.c > Author: YueBo > Mail: yuebowhu@163.com > Created Time: Sun 14 May 2017 12:05:03 PM CST ************************************************************************/#include<stdio.h>#include <stdio.h>int main(){ int extra = 0, miss = 0, flag = 0; int shop_str[10+26+26]; char ch; int i; for (i = 0; i < 10+26+26; i++) shop_str[i] = 0; while ((ch = getchar()) != '\n' && ch != ' ') { if (ch >= '0' && ch <= '9') shop_str[ch-'0']++; else if (ch >= 'a' && ch <= 'z') shop_str[10+ch-'a']++; else shop_str[10+26+ch-'A']++; } if (ch == ' ') { while ((ch = getchar()) != '\n') ; } while ((ch = getchar()) != '\n' && ch != ' ') { if (ch >= '0' && ch <= '9') { shop_str[ch-'0']--; if (shop_str[ch-'0'] < 0) flag = 1; } else if (ch >= 'a' && ch <= 'z') { shop_str[10+ch-'a']--; if (shop_str[10+ch-'a'] < 0) flag = 1; } else { shop_str[10+26+ch-'A']--; if (shop_str[10+26+ch-'A'] < 0) flag = 1; } } if (flag == 0) { for (i = 0; i < 10+26+26; i++) extra += shop_str[i]; printf("Yes %d\n", extra); } else { for (i = 0; i < 10+26+26; i++) if (shop_str[i] < 0) miss += shop_str[i]; printf("No %d\n", (-1)*miss); } return 0;}
- 1092.To Buy or Not to Buy
- 1092. To Buy or Not to Buy
- 1092. To Buy or Not to Buy
- 1092. To Buy or Not to Buy
- 1092. To Buy or Not to Buy
- 1092. To Buy or Not to Buy
- 1092. To Buy or Not to Buy (20)
- PAT A 1092. To Buy or Not to Buy (20)
- 1092. To Buy or Not to Buy (20)
- PAT 1092. To Buy or Not to Buy (20)
- pat 1092. To Buy or Not to Buy (20)
- 1092. To Buy or Not to Buy (20)
- 1092. To Buy or Not to Buy (20)
- PAT 1092. To Buy or Not to Buy (20)
- 【PAT】1092. To Buy or Not to Buy (20)
- 1092. To Buy or Not to Buy (20)
- PAT 1092. To Buy or Not to Buy (20)
- 1092. To Buy or Not to Buy (20)
- 《Effective Modern C++》读书笔记(1) -- 模板类型推导(template type deduction)
- Ajax之在SSM中的json用法
- jquery与php交互之GET、 POST
- tips
- log4j的基本配置文件
- 1092. To Buy or Not to Buy (20)
- java怎样在面板中添加背景图片
- 免费的论文查重网站
- 404
- 单源最短路径模板整理
- MFC之ComboBox控件用法
- 企业级IBM-AIX系统上部署OracleDB 视频教程下载
- Windows10安装Linux子系统
- 【BN】Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift