题目1032:ZOJ
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4102
解决:2277
- 题目描述:
-
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
- 输入:
-
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
- 输出:
-
对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
- 样例输入:
-
ZZOOOJJJ ZZZZOOOOOJJJ ZOOOJJ E
- 样例输出:
-
ZOJZOJOJ ZOJZOJZOJZOO ZOJOJO
- 来源:
- 2009年浙江大学计算机及软件工程研究生机试真题
-
1 //模拟 2 3 #include <cstdio> 4 #include<algorithm> 5 #include<iostream> 6 #include<string> 7 #include<cstring> 8 #include<vector> 9 using namespace std; 10 int main(){ 11 string s; 12 while(cin>>s&&s[0]!='E'){ 13 int l,i=0,j=0,k=0; 14 int len=s.length(); 15 for(l=0;l<len;l++){ 16 if(s[l]=='Z'){ 17 i++; 18 } 19 else{ 20 if(s[l]=='O'){ 21 j++; 22 } 23 else{ 24 if(s[l]=='J'){ 25 k++; 26 } 27 } 28 } 29 } 30 while(i||j||k){ 31 if(i){ 32 i--; 33 cout<<'Z'; 34 } 35 if(j){ 36 j--; 37 cout<<'O'; 38 } 39 if(k){ 40 k--; 41 cout<<'J'; 42 } 43 } 44 cout<<endl; 45 } 46 return 0; 47 }