题目

给定⼀个⻓度不超过10000的、仅由英⽂字⺟构成的字符串。请将字符重新调整顺序,按“PATestPATest….”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不⼀定是⼀样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。

输⼊格式:

输⼊在⼀⾏中给出⼀个⻓度不超过10000的、仅由英⽂字⺟构成的⾮空字符串。

输出格式:

在⼀⾏中按题⽬要求输出排序后的字符串。题⽬保证输出⾮空。

输⼊样例:

redlesPayBestPATTopTeePHPereatitAPPT

输出样例:

PATestPATestPTetPTePePee

题目分析

  1. 散列统计PATest每二个字母出现次数,记录在unordered_map中
  2. 循环打印PATest(若字母存在次数-1并打印,若字母不存在不打印)
  3. 使用标记,记录是否PATest出现次数都已为0,退出循环

code

code 01


#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main(int argc, char * argv[]) {
string s;
getline(cin,s);
unordered_map<char, int> m;
for(int i=0; i<s.length(); i++) {
m[s[i]]++;
}
bool flag = true;
while(flag) {
flag = false;
if(m['P']-->0)printf("P"),flag=true;
if(m['A']-->0)printf("A"),flag=true;
if(m['T']-->0)printf("T"),flag=true;
if(m['e']-->0)printf("e"),flag=true;
if(m['s']-->0)printf("s"),flag=true;
if(m['t']-->0)printf("t"),flag=true;
}
return 0;
}

code 02

#include <iostream>
using namespace std;
int main() {
int map[128] = {0}, c;
while ((c = cin.get()) != EOF) map[c]++;
while (map['P'] > 0 || map['A'] > 0 || map['T'] > 0 || map['e'] > 0 ||
map['s'] > 0 || map['t'] > 0) {
if (map['P']-- > 0) cout << 'P';
if (map['A']-- > 0) cout << 'A';
if (map['T']-- > 0) cout << 'T';
if (map['e']-- > 0) cout << 'e';
if (map['s']-- > 0) cout << 's';
if (map['t']-- > 0) cout << 't';
}
return 0;
}

PAT Basic 1043 输出PATest (20分)[Hash散列]的更多相关文章

  1. PAT Basic 1043 输出PATest (20 分)

    给定一个长度不超过 ​ ​​ 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符 ...

  2. 1043 输出PATest (20 分)

    题目:1043 输出PATest (20 分) 给定一个长度不超过 1 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然, ...

  3. PAT 乙级 1043 输出PATest(20) C++版

    1043. 输出PATest(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个长度不超过10000 ...

  4. PAT (Basic Level) Practice (中文)1043 输出PATest (20 分)

    给定一个长度不超过 1 的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输 ...

  5. PAT乙级-1043. 输出PATest(20)

    给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按"PATestPATest...."这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一 ...

  6. 1043 输出PATest (20 分)C语言

    给定一个长度不超过 10^​4的.仅由英文字母构成的字符串.请将字符重新调整顺序,按 PATestPATest- 这样的顺序输出,并忽略其它字符.当然,六种字符的个数不一定是一样多的,若某种字符已经输 ...

  7. PAT 1043 输出PATest(20)(代码+思路)

    1043 输出PATest(20)(20 分) 给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按"PATestPATest...."这样的顺序输出 ...

  8. PAT-乙级-1043. 输出PATest(20)

    1043. 输出PATest(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个长度不超过10000 ...

  9. 1043. 输出PATest(20)

    1043. 输出PATest(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个长度不超过10000 ...

随机推荐

  1. 修改ssh主机名

    三台机器的配置相似,以zk1为例 1.修改hostname vi /etc/hostname zk1 2.修改hosts文件 vi /etc/hosts 10.45.48.233 zk1 10.45. ...

  2. office(CVE-2012-0158)漏洞分析报告

    2019/9/12 1.漏洞复现 ①发现崩溃 ②找到漏洞所在的函数,下断点,重新跑起来,单步调试,找到栈被改写的地方 ③分析该函数 把MSCOMCTL拖入IDA,查看该函数代码 ④查看调用栈,回溯. ...

  3. 自定义 radio 的样式,更改选中样式

      思路: 1. 可以为<label>元素添加生成性内容(伪元素),并基于单选按钮的状态来为其设置样式: 2. 然后把真正的单选按钮隐藏起来: 3. 最后把生成内容美化一下. 解决方法: ...

  4. jquery播放mp3

    $("button").on("click",function(){    $('embed').remove();            $('body'). ...

  5. IDEA的一些常用设置

    一.给方法之间添加分割线 效果: 二.自动导包 三.字体以及大小和行间距 四.注释的字体颜色 五.项目编码 六.省点模式(开启省点模式后会取消代码检查和提示等,需要注意) 七.代码垂直或者水平分区显示 ...

  6. openstack trove 数据库镜像构建列表

    文件位置:/trove/integration/scripts/files/elements ubuntu@ubuntu:~/Downloads/trove/integration/scripts/f ...

  7. vsCode--设置显示文件和搜索过滤

    文件位置:文件(File)-首选项(Preference)-设置(setting) 打开setting.json文件输入一下内容即可 { "search.exclude": { & ...

  8. 在linux上部署多个tomcat

    1.vim  /etc/profile ##########first tomcat########### CATALINA_BASE=/usr/apache-tomcat--fore CATALIN ...

  9. k8s 使用新增user配置kubectl在各个节点都可运行

    k8s增加普通用户User 普通用户并不是通过k8s来创建和维护,是通过创建证书和切换上下文环境的方式来创建和切换用户.其实创建用户的步骤,就是手动部署k8s集群里的一个步骤.创建过程见下: 1.创建 ...

  10. JS-表单验证二

    3.范围验证:年龄范围验证: <head> <meta http-equiv="Content-Type" content="text/html; ch ...