1043. 输出PATest(20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest....”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:
PATestPATestPTetPTePePee
// 1043.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include<iostream>
#include<string>
#include<stack> using namespace std; void judge(stack<char>& s, int& b); int main()
{
string str;
int b = ;
stack<char> P,A,T,e,s,t; getline(cin,str); int size = str.size(); for (int i = ; i<size; ++i)
{
switch (str[i])
{
case 'P':P.push(str[i]); break;
case 'A':A.push(str[i]); break;
case 'T':T.push(str[i]); break;
case 'e':e.push(str[i]); break;
case 's':s.push(str[i]); break;
case 't':t.push(str[i]); break;
default:break;
}
} while (b)
{
b = ; judge(P, b);
judge(A, b);
judge(T, b);
judge(e, b);
judge(s, b);
judge(t, b);
} cout << endl; return ;
} void judge(stack<char>& s,int& b)
{
if (!s.empty())
{
cout << s.top(); s.pop();
b = ;
}
}