1043 输出PATest (20 分)

简介: 1043 输出PATest (20 分)

1043 输出PATest (20 分)


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

输入格式:

输入在一行中给出一个长度不超过 104 的、仅由英文字母构成的非空字符串。

输出格式:

在一行中按题目要求输出排序后的字符串。题目保证输出非空。

输入样例:

redlesPayBestPATTopTeePHPereatitAPPT

输出样例:

PATestPATestPTetPTePePee

https://www.liuchuo.net/archives/579

 

 
#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;
}

或者用string也行。

#include <iostream>
#include<string>
using namespace std;
int main() {
  string s;
  cin >> s;
  int map[256] = { 0 };
  for (int i = 0; i < s.length(); i++)
    map[s[i]]++;
  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;
}
相关文章
Springboot 导出word,动态填充表格数据
Springboot 导出word,动态填充表格数据
|
Web App开发 SQL Java
javaweb实现分页(二)
javaweb实现分页(二)
|
Web App开发 Ubuntu Linux
百度搜索:蓝易云【Ubuntu Linux中如何删除Firefox Snap?】
通过上述步骤,你可以在Ubuntu Linux中删除Firefox Snap。这将彻底删除通过Snap安装的Firefox,并确保你可以选择其他版本或使用其他方式重新安装Firefox。
519 0
|
10月前
|
数据可视化 数据挖掘 BI
团队管理者必读:高效看板类协同软件的功能解析
在现代职场中,团队协作的效率直接影响项目成败。看板类协同软件通过可视化界面,帮助团队清晰规划任务、追踪进度,提高协作效率。本文介绍看板类软件的优势,并推荐五款优质工具:板栗看板、Trello、Monday.com、ClickUp 和 Asana,助力团队实现高效管理。
205 2
|
缓存 负载均衡 安全
如何应对DDoS攻击:技术策略与实践
【8月更文挑战第20天】DDoS攻击作为一种常见的网络威胁,对信息系统的安全稳定运行构成了严峻挑战。通过采用流量清洗、CDN、负载均衡、防火墙与IPS、协议与连接限制、强化网络基础设施、实时监测与响应以及专业DDoS防护服务等策略,企业可以构建更加健壮的防御体系,有效应对DDoS攻击。然而,防御DDoS攻击的最佳方法是预防,企业应定期进行风险评估和安全演练,及时更新和强化安全措施,以提高网络的抵御能力和应对能力。
|
消息中间件 Java 数据安全/隐私保护
Spring Boot与RabbitMQ的集成
Spring Boot与RabbitMQ的集成
|
安全
PADS Layout元器件独立规则设置
对于设计规则设置,之前有粉丝说单独设置元器件的规则没有效果,主要是指间距和线宽的设置。
817 0
PADS新建封装中焊盘部分修正(一)
在PADS新建封装中,需要修改焊盘参数。因为之前做板,有问题工厂都会帮忙修正,所以忽略了焊盘中阻焊层和助焊层。这里专门做一个修正。
622 0
PADS新建封装
前面我们已经讲解过如何新建一个电阻元器件,那么接下来我们就要新建一个该电阻元器件在现实世界中的映射——封装(Footprint)。打开PADS Layout,执行如下步骤: 1、打开库管理器,选中新建的库ubug_lib,点击“封装”按钮后“新建”按钮变为可点击,如下图所示:
1006 0
|
JavaScript 芯片
PADS Layout添加工艺边和Mark点的方法和步骤
PCB在进行贴片加工的时候(SMT),一般有3种方式(基于开钢网的情况):全人工、半自动、全自动。全人工就是刷钢网,放置元器件都是人工操作。半自动是指人工刷钢网,放置元器件上自动贴片机。全自动是指刷钢网和放置元器件都是机器自动完成。对于全人工的我们就很好理解,毕竟人是活的,最智能的,遇到突发情况都可以想办法处理。
1289 0