HDU3783:ZOJ

来源:互联网 发布:部队手机网络心得体会 编辑:程序博客网 时间:2024/05/29 19:44

 

Problem Description

 

读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
 


 

Input

 

题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
 


 

Output

 

对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
 


 

Sample Input

 

ZZOOOJJJZZZZOOOOOJJJZOOOJJE
 


 

Sample Output

 

ZOJZOJOJZOJZOJZOJZOOZOJOJO
 


 

 

 

#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){    char str[1000];    int z,o,j;    while(gets(str))    {        if(!strcmp(str,"E"))        break;        z = o = j = 0;        int len = strlen(str);        int i;        for(i = 0;i<len;i++)        {            if(str[i] == 'Z')            z++;            else if(str[i] == 'O')            o++;            else if(str[i] == 'J')            j++;        }        while(z || o || j)        {            if(z)            {                cout << "Z";                z--;            }            if(o)            {                cout << "O";                o--;            }            if(j)            {                cout << "J";                j--;            }        }        cout << endl;    }    return 0;}