码迷,mamicode.com
首页 > 其他好文 > 详细

1032.ZOJ问题

时间:2018-10-02 17:34:55      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:return   panel   字符串   mes   col   用例   pre   style   msu   

题目描述:
读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然按照ZOJ的顺序输出。
输入:
题目包含多组用例,每组用例占一行,包含ZOJ三个字符,当输入“E”时表示输入结束。
1<=length<=100。
输出:
对于每组输入,请输出一行,表示按照要求处理后的字符串。
具体可见样例。
样例输入:
ZZOOOJJJ
ZZZZOOOOOJJJ
ZOOOJJ
E
样例输出:
ZOJZOJOJ
ZOJZOJZOJZOO
ZOJOJO

 

#include<iostream>
#include<cstring>
using namespace std;

int main(){
    string s;
    while(getline(cin,s) && s!="E"){
        int z=0,o=0,j=0;
        for(int i=0;i<s.size();i++){
            if(s[i]==Z) z++;
            else if(s[i]==O) o++;
            else if(s[i]==J) j++;
        }
        for(;z>0 && o>0 && j>0;z--,o--,j--){
            cout<<"ZOJ";
        }
        if(z==0){
            for(;o>0 && j>0;o--,j--){
                cout<<"OJ";
            }
            if(o==0) {
                for(;j>0;j--) cout<<"J";
            }
            else for(;o>0;o--) cout<<"O";
        }
        if(o==0){
            for(;z>0 && j>0;z--,j--){
                cout<<"ZJ";
            }
            if(z==0) {
                for(;j>0;j--) cout<<"J";
            }
            else for(;z>0;z--) cout<<"Z";
        }
        if(j==0){
            for(;o>0 && z>0;o--,z--){
                cout<<"ZO";
            }
            if(o==0) {
                for(;z>0;z--) cout<<"Z";
            }
            else for(;o>0;o--) cout<<"O";
        }
        cout<<endl;
        }
        return 0;
}

 

1032.ZOJ问题

标签:return   panel   字符串   mes   col   用例   pre   style   msu   

原文地址:https://www.cnblogs.com/bernieloveslife/p/9736573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!