用了一个不动脑的方法
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
int main() {
string s;
cin >> s;
char s1[10001];
int k = 0;
int a[6] = {0};
int count = 0;
for(int i = 0; i < s.length(); i++) {
if(s[i] == 'P') {
a[0]++;
count++;
} else if(s[i] == 'A') {
a[1]++;
count++;
} else if(s[i] == 'T') {
a[2]++;
count++;
} else if(s[i] == 'e') {
a[3]++;
count++;
} else if(s[i] == 's') {
a[4]++;
count++;
} else if(s[i] == 't') {
a[5]++;
count++;
}
}
while(count) {
if(a[0] != 0) {
s1[k++] = 'P';
a[0]--;
count--;
}
if(a[1] != 0) {
s1[k++] = 'A';
a[1]--;
count--;
}
if(a[2] != 0) {
s1[k++] = 'T';
a[2]--;
count--;
}
if(a[3] != 0) {
s1[k++] = 'e';
a[3]--;
count--;
}
if(a[4] != 0) {
s1[k++] = 's';
a[4]--;
count--;
}
if(a[5] != 0) {
s1[k++] = 't';
a[5]--;
count--;
}
}
puts(s1);
return 0;
}