题目1032:ZOJ
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4102
解决:2277
- 题目描述:
-
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
- 输入:
-
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
- 输出:
-
对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
- 样例输入:
-
ZZOOOJJJ
ZZZZOOOOOJJJ
ZOOOJJ
E
- 样例输出:
-
ZOJZOJOJ
ZOJZOJZOJZOO
ZOJOJO
- 来源:
- 2009年浙江大学计算机及软件工程研究生机试真题
-
//模拟 #include <cstdio>
#include<algorithm>
#include<iostream>
#include<string>
#include<cstring>
#include<vector>
using namespace std;
int main(){
string s;
while(cin>>s&&s[]!='E'){
int l,i=,j=,k=;
int len=s.length();
for(l=;l<len;l++){
if(s[l]=='Z'){
i++;
}
else{
if(s[l]=='O'){
j++;
}
else{
if(s[l]=='J'){
k++;
}
}
}
}
while(i||j||k){
if(i){
i--;
cout<<'Z';
}
if(j){
j--;
cout<<'O';
}
if(k){
k--;
cout<<'J';
}
}
cout<<endl;
}
return ;
}