1043. 输出PATest(20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest....”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。
输入格式:
输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:redlesPayBestPATTopTeePHPereatitAPPT输出样例:
PATestPATestPTetPTePePee
1 // 1043.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include<iostream> 6 #include<string> 7 #include<stack> 8 9 using namespace std; 10 11 void judge(stack<char>& s, int& b); 12 13 int main() 14 { 15 string str; 16 int b = 1; 17 stack<char> P,A,T,e,s,t; 18 19 getline(cin,str); 20 21 int size = str.size(); 22 23 for (int i = 0; i<size; ++i) 24 { 25 switch (str[i]) 26 { 27 case 'P':P.push(str[i]); break; 28 case 'A':A.push(str[i]); break; 29 case 'T':T.push(str[i]); break; 30 case 'e':e.push(str[i]); break; 31 case 's':s.push(str[i]); break; 32 case 't':t.push(str[i]); break; 33 default:break; 34 } 35 } 36 37 while (b) 38 { 39 b = 0; 40 41 judge(P, b); 42 judge(A, b); 43 judge(T, b); 44 judge(e, b); 45 judge(s, b); 46 judge(t, b); 47 } 48 49 cout << endl; 50 51 return 0; 52 } 53 54 void judge(stack<char>& s,int& b) 55 { 56 if (!s.empty()) 57 { 58 cout << s.top(); 59 60 s.pop(); 61 b = 1; 62 } 63 }