把RWB转换成按序的123,再关键字排序。还有就是用划分数组为0--i(R) i--j(W) j--k(B)在逐个搜索数组用交换元素使其满足上面的划分。
[此贴子已经被作者于2007-9-27 22:17:26编辑过]
分别统计R,W,B的个数,在按照个数输出不就行了。
#include <iostream>#include<string>//#include<stdio.h>using namespace std;char str[500005];int n,h,j,k;char a[500005],b[500005],c[500005];int main(){int i,j;scanf("%d",&n);scanf("%s",&str);for(i=0;i<n;i++){if(str[i]=='R')a[i]=str[i];else if(str[i]=='W')b[i]=str[i];elsec[i]=str[i];}for(i=0;i<strlen(a);i++){cout<<a[i];}//char str1[]="hello";//char str2[]="world!!!";//cout<<strcat(str1,str2);//cout<<strcat(a,b);for(i=0;i<strlen(b);i++){cout<<b[i];}for(i=0;i<strlen(c);i++){cout<<c[i];}return 0;}
帮我修正一下这个程序吗.谢谢..