ZOJ
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 420 Accepted Submission(s): 320
Problem Description
讀入一個字符串,字符串中包含ZOJ三個字符,個數不一定相等,按ZOJ的順序輸出,當某個字符用完時,剩下的仍然按照ZOJ的順序輸出。
Input
題目包含多組用例,每組用例佔一行,包含ZOJ三個字符,當輸入“E”時表示輸入結束。
1<=length<=100。
1<=length<=100。
Output
對於每組輸入,請輸出一行,表示按照要求處理後的字符串。
具體可見樣例。
具體可見樣例。
Sample Input
ZZOOOJJJ
ZZZZOOOOOJJJ
ZOOOJJ
E
Sample Output
ZOJZOJOJ
ZOJZOJZOJZOO
ZOJOJO
#include<stdio.h>
#include<string>
using namespace std;
int main(){
int maze[3];
string str;
while(cin>>str,str!="E"){
maze[0]=0,maze[1]=0,maze[2]=0;
for(int i=0;i<str.size();i++){
if(str[i]=='Z') maze[0]++;
if(str[i]=='O') maze[1]++;
if(str[i]=='J') maze[2]++;
}
while(maze[0]>0||maze[1]>0||maze[2]>0){
if(maze[0]>0){
printf("Z");
maze[0]--;
}
if(maze[1]>0){
printf("O");
maze[1]--;
}
if(maze[2]>0){
printf("J");
maze[2]--;
}
}
printf("\n");
}
return 0;
}