1032.ZOJ问题
Posted bernieloveslife
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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; }
以上是关于1032.ZOJ问题的主要内容,如果未能解决你的问题,请参考以下文章