Dada una cadena de longitud que no excede 104 y que consta únicamente de letras en inglés. Reorganice el orden de los caracteres y StringString....
envíelos en este orden (tenga en cuenta que distingue entre mayúsculas y minúsculas) e ignore otros caracteres. Por supuesto, el número de seis caracteres no es necesariamente el mismo. Si se ha generado un determinado carácter, los caracteres restantes se seguirán imprimiendo String
en el orden hasta que se generen todos los caracteres. Por ejemplo gnirtSSs
, para ajustar StringS
la salida donde s
se ignoran los caracteres adicionales.
Formato de entrada:
La entrada proporciona una cadena no vacía de letras en inglés únicamente con una longitud que no exceda 104 en una sola línea.
Formato de salida:
Genere las cadenas ordenadas en una línea según lo requiera el título. El título garantiza que la salida no está vacía.
Muestra de entrada:
sTRidlinSayBingStrropriiSHSiRiagIgtSSr
Salida de muestra:
StringStringSrigSriSiSii
Tenga en cuenta que las estadísticas distinguen entre mayúsculas y minúsculas y la s minúscula no se incluye en el número de S grandes.
#include<cstdio>
#include<set>
#include<map>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
//保存各个字符个数
int nums[10]={0};
char s[10005];
cin>>s;
for(int i=0;i<strlen(s);i++){
switch(s[i]){
case 'S':nums[1]++;break;
case 't':nums[2]++;break;
case 'r':nums[3]++;break;
case 'i':nums[4]++;break;
case 'n':nums[5]++;break;
case 'g':nums[6]++;break;
}
}
while(nums[1]!=0||nums[2]!=0||nums[3]!=0||nums[4]!=0||nums[5]!=0||nums[6]!=0){
if(nums[1]!=0){
cout<<"S";
nums[1]--;
}
if(nums[2]!=0){
cout<<"t";
nums[2]--;
}
if(nums[3]!=0){
cout<<"r";
nums[3]--;
}
if(nums[4]!=0){
cout<<"i";
nums[4]--;
}
if(nums[5]!=0){
cout<<"n";
nums[5]--;
}
if(nums[6]!=0){
cout<<"g";
nums[6]--;
}
}
return 0;
}