到底买不买,找零钱,字符统计,输出PATest
来源:互联网 发布:win10内存优化软件 编辑:程序博客网 时间:2024/06/07 02:18
1039. 到底买不买(20)
小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。
为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含了全部她想要的珠子,还多了8颗不需要的珠子;第2串不能买,因为没有黑色珠子,并且少了一颗红色的珠子。
图 1
输入格式:
每个输入包含1个测试用例。每个测试用例分别在2行中先后给出摊主的珠串和小红想做的珠串,两串都不超过1000个珠子。
输出格式:
如果可以买,则在一行中输出“Yes”以及有多少多余的珠子;如果不可以买,则在一行中输出“No”以及缺了多少珠子。其间以1个空格分隔。
输入样例1:ppRYYGrrYBR2258YrR8RrY输出样例1:
Yes 8输入样例2:
ppRYYGrrYB225YrR8RrY输出样例2:
No 2
提交代
码
代码:
#include <iostream>#include<string.h>#include<algorithm>#include<cstdio>#include<cmath>using namespace std;int main(){ char a[1001]; char b[1001]; gets(a); gets(b); int la=strlen(a); int lb=strlen(b); ///b把a给覆盖 for(int i=0;i<lb;i++) { for(int j=0;j<la;j++) { if(b[i]==a[j]) { a[j]='*'; b[i]='*'; break; } } } int n1=0; int n2=0; for(int i=0;i<la;i++) { if(a[i]!='*') n1++; } for(int i=0;i<lb;i++) { if(b[i]!='*') n2++; } if(n2==0) cout<<"Yes "<<n1<<endl; else cout<<"No "<<n2<<endl; return 0;}
1037. 在霍格沃茨找零钱(20)
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。
输入格式:
输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用1个空格分隔。这里Galleon是[0, 107]区间内的整数,Sickle是[0, 17)区间内的整数,Knut是[0, 29)区间内的整数。
输出格式:
在一行中用与输入同样的格式输出哈利应该被找的零钱。如果他没带够钱,那么输出的应该是负数。
输入样例1:10.16.27 14.1.28输出样例1:
3.2.1输入样例2:
14.1.28 10.16.27输出样例2:
-3.2.1
提交代码
#include <iostream>#include<string.h>#include<algorithm>#include<cstdio>#include<cmath>using namespace std;int main(){ int a1,b1,c1,a2,b2,c2; char ch; scanf("%d%c%d%c%d%d%c%d%c%d",&a1,&ch,&b1,&ch,&c1,&a2,&ch,&b2,&ch,&c2); int m=a1*17*29+29*b1+c1; int n=a2*17*29+29*b2+c2; int p=n-m; if(p<0) cout<<"-"; p=abs(p); int x=p/17/29; int y=(p-x*29*17)/29; int z=p-x*29*17-y*29; printf("%d.%d.%d",x,y,z); return 0;}
见识了一下cin输入功能的强大
1042. 字符统计(20)
请编写程序,找出一段给定文字中出现最频繁的那个英文字母。
输入格式:
输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。
输出格式:
在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。
输入样例:This is a simple TEST. There ARE numbers and other symbols 1&2&3...........输出样例:
e 7
提交代码
#include <iostream>#include<string.h>#include<algorithm>#include<cstdio>#include<cmath>using namespace std;int main(){ char a[1001]; int c[150]={0}; gets(a); int la=strlen(a); for(int i=0; i<la; i++) { if(a[i]>='A'&&a[i]<='Z') a[i]+=32; if(a[i]>='a'&&a[i]<='z') { c[a[i]]++; } } int maxx=0; int id=-1; for(int i=96;i<123;i++) { if(c[i]>maxx) { maxx=c[i]; id=i; } } printf("%c %d",id,maxx); return 0;}必要时还可以强制类型转换
1043. 输出PATest(20)
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest....”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:redlesPayBestPATTopTeePHPereatitAPPT输出样例:
PATestPATestPTetPTePePee
提交代码
#include <iostream>#include<string.h>#include<algorithm>#include<cstdio>#include<cmath>using namespace std;int main(){ int P,A,T,e,s,t; P=A=T=e=s=t=0; char a[10001]; gets(a); int la=strlen(a); for(int i=0;i<la;i++) { switch(a[i]) { case 'P':P++;break; case 'A':A++;break; case 'T':T++;break; case 'e':e++;break; case 's':s++;break; case 't':t++;break; } } while(P||A||T||e||s||t) { if(P){cout<<"P";P--;} if(A){cout<<"A";A--;} if(T){cout<<"T";T--;} if(e){cout<<"e";e--;} if(s){cout<<"s";s--;} if(t){cout<<"t";t--;} } return 0;}
- 到底买不买,找零钱,字符统计,输出PATest
- 输出PATest
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 找零钱!
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 找零钱
- 另眼观宝岛之一
- JamesMusic浅读--------5,文件选择系统的数据库绑定
- DP 1014
- 客户端架构
- go语言的模板,text/template包
- 到底买不买,找零钱,字符统计,输出PATest
- Android 基础总结:(五)Service详解(上)
- HTML DOM querySelector() 方法
- poj 1011 Sticks(dfs+剪枝)
- 1017-Q专题三
- 总结linux清理垃圾命令
- leetcode #51
- 分页方法
- leetcode Longest Valid Parentheses