PAT B1043 PATest salida (20 minutos)

enlaces a los temas : https://pintia.cn/problem-sets/994805260223102976/problems/994805280074743808

Título Descripción
Dada una longitud de no más de 10 ^ 4, la cadena que consta de sólo letras. Por favor carácter re-ajustar el orden, de acuerdo con PATestPATest ... en ese orden de salida, e ignorar otros personajes. Por supuesto, el número de seis tipos de caracteres no es necesariamente como mucho, si algún tipo de salida personaje ha terminado, los caracteres restantes en base a la orden de impresión PATest hasta que todos los personajes son de salida.

De entrada
de entrada se le da una longitud de no más de 10 ^ 4 en una fila, única cadena no vacía compuesta de las letras inglesas.

Salida
en una fila por los requisitos del pedido de salida tema de cuerda. Tema asegurar que la salida no está vacía.

entrada de la muestra
redlesPayBestPATTopTeePHPereatitAPPT

Ejemplo de salida
PATestPATestPTetPTePePee

código

#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;
}
Publicados 288 artículos originales · ganado elogios 12 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/Rhao999/article/details/104668237
Recomendado
Clasificación