hdoj 3783 ZOJ

来源:互联网 发布:行知幼儿园 编辑:程序博客网 时间:2024/06/06 09:34

ZOJ

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2130    Accepted Submission(s): 1472


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

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

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

Sample Input
ZZOOOJJJZZZZOOOOOJJJZOOOJJE
 

Sample Output
ZOJZOJOJZOJZOJZOJZOOZOJOJO
 

字符串处理:

 

#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int main(){int i, j, len;char str[110];int sumz, sumo, sumj;while(scanf("%s", str), str[0] != 'E'){len = strlen(str);sumz = sumo = sumj = 0;for(i = 0; i < len; i++){if(str[i] == 'Z')sumz++;else if(str[i] == 'O')sumo++;else if(str[i] == 'J')sumj++;}int use;for(i = 0; i < len; i += use){use = 0;//记录当前循环输出了多少个字母 if(sumz){printf("Z");use++;sumz--;}if(sumo){printf("O");use++;sumo--;}if(sumj){printf("J");use++; sumj--;}}printf("\n");}return 0;} 



 

0 0
原创粉丝点击