- Description
有一些A、C、M组成的字符串,将其按字符A排序。
- Input
一组测试数据,输入数据由若干行组成,每行是字符A、C或M组成的字符串。(每个字符串长度不超过1200)
- Output
对所有输入的数据,先按字符A的个数进行升序排序,如果字符A的数量相等,再按出现的先后顺序排序,每行输出一个字符串。
- Sample Input
ACM
MCA
AACAAMMM
AACCMM
CMAAMMMMMM
AAA
- Sample Output
ACM
MCA
AACCMM
CMAAMMMMMM
AAA
AACAAMMM
#include<iostream>
#include<algorithm>
using namespace std;
typedef struct ACM
{
char a[2000];
int num;
}ACM;
int cmp(ACM x,ACM y)
{
return (x.num)<(y.num);
}
ACM acm[21];
int main()
{
int i=0,j;
while(scanf("%s",acm[i].a)!=EOF)
{
acm[i].num=0;
for(j=0;acm[i].a[j]!=0;j++)
if(acm[i].a[j]=='A')acm[i].num++;
i++;
}
stable_sort(acm,acm+i,cmp);
for(j=0;j<i;j++)
puts(acm[j].a);
return 0;
}