zoukankan      html  css  js  c++  java
  • 1032.ZOJ问题

    题目描述:
    读入一个字符串,字符串中包含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;
    }
  • 相关阅读:
    2014-2-24 日记
    The C++ Programming Language
    穷举法练习题
    JAVA的语法基础3
    JAVA的语法基础 练习题
    JAVA的语法基础2
    JAVA的语法基础1
    代码结构和标识符
    Eclipse使用
    Java开发环境
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9736573.html
Copyright © 2011-2022 走看看