南邮 OJ 1023 字符串排序




字符串排序

时间限制(普通/Java) :  1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 1529            测试通过 : 341 

比赛描述

有一些ACM组成的字符串,将其按字符A排序。



输入

一组测试数据,输入数据由若干行组成,每行是字符ACM组成的字符串。(每个字符串长度不超过1200)

输出

对所有输入的数据,先按字符A的个数进行升序排序,如果字符A的数量相等,再按出现的先后顺序排序,每行输出一个字符串。

样例输入

ACM
MCA
AACAAMMM
AACCMM
CMAAMMMMMM
AAA

样例输出

ACM
MCA
AACCMM
CMAAMMMMMM
AAA
AACAAMMM

题目来源

NUPT




#include <iostream>
#include <string>
#include <algorithm>
#define MAXNUM 256
using namespace std;

int compare(string str0,string str1){
	return(count(str0.begin(),str0.end(),'A')<count(str1.begin(),str1.end(),'A'));
}
int main(void){
	string str[MAXNUM];
	int n=0,i=0;
	while(cin>>str[n]){
		++n;
	}
	stable_sort(str,str+n,compare);
	for(i=0;i<n;++i){
		cout<<str[i]<<endl;
	}
}


你可能感兴趣的:(ACM,字符串排序,南邮OJ)