Liens Sujet : https://pintia.cn/problem-sets/994805260223102976/problems/994805280074743808
Titre Description
Étant donné une longueur maximale de 10 ^ 4, la chaîne constituée de lettres seulement. S'il vous plaît re-régler le caractère de l'ordre, selon PATestPATest ... dans cette sortie d'ordre, et ignorer d' autres caractères. Bien sûr, le nombre de six types de caractères ne sont pas nécessairement autant, si une sorte de sortie de caractères est terminée, les autres caractères basés sur l'ordre d'impression PATest jusqu'à ce que tous les caractères sont émis.
Entrée
Input est donnée une longueur de pas plus de 10 ^ 4 dans une rangée, seule chaîne non vide composée de lettres anglaises.
Sortie
en ligne par les exigences de commande de sortie de chaîne sujet. Sujet veiller à ce que la sortie ne soit pas vide.
entrée échantillon
redlesPayBestPATTopTeePHPereatitAPPT
Exemple de sortie
PATestPATestPTetPTePePee
code
#include <iostream>
#include <string>
#include <map>
using namespace std;
int main() {
map<char, int> m;
m['P'] = 0; m['A'] = 0; m['T'] = 0; m['e'] = 0; m['s'] = 0; m['t'] = 0;
char str[7] = {'P', 'A', 'T', 'e', 's', 't'};
bool flag = true;
string s1;
getline(cin, s1);
for(int i = 0; i < s1.size(); i++)
if(s1[i] == 'P' || s1[i] == 'A' || s1[i] == 'T' || s1[i] == 'e' || s1[i] == 's' || s1[i] == 't')
m[s1[i]]++;
while(flag) {
flag = false;
for(int i = 0; i < 6; i++) {
if(m[str[i]] > 0) {
cout << str[i];
m[str[i]]--;
flag = true;
}
}
}
cout<<endl;
return 0;
}