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;
}
相关文章
print 方法输出
print 方法输出
111 0
print 方法输出
PTA 1043 输出PATest (20 分)
给定一个长度不超过 10 4 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符。
61 0
L1-001 Hello World (5 分)
L1-001 Hello World (5 分)
42 0
7-1 输出从1加到N的和 (9 分)
7-1 输出从1加到N的和 (9 分)
78 0
【PR】视频输出的一些设置
【PR】视频输出的一些设置
121 0
【PR】视频输出的一些设置
|
C++ 容器
map以及使用举例--C++基础
map以及使用举例--C++基础
122 0
map以及使用举例--C++基础
|
C语言 C++
1043 输出PATest (20 分)
给定一个长度不超过 104 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。
78 0
【1031】Hello World for U (20 分)
【1031】Hello World for U (20 分) 【1031】Hello World for U (20 分)
94 0
【1055】The World's Richest (25 分)
【1055】The World's Richest (25 分) 【1055】The World's Richest (25 分)
49 0