UVA 10905 - Children's Game

一开始我以为是选高位大的并且选位数少的 如90 和9选9,但后来想到989 和98呢 明显98998>98989 好恶心

然后我觉得直接拼接起来比较不就好了嘛!

sort不支持char二维数组的样子。然后就用string了。。。。。。。



#include<cstdio>
#include<string>
#include<algorithm>
#include<iostream>
using namespace std;
const int MAXN=50+10;
string data[MAXN];
bool compare(const string &a,const string &b)         //a<b?
{		
	return a+b<b+a;
}
int main()
{
	int n;
	while(scanf("%d",&n),n)
	{
		for(int i=0;i<n;i++)
			cin>>data[i];
		sort(data,data+n,compare);
		for(int i=n-1;i>=0;i--)
			cout<<data[i];
		printf("\n");
	}
	
}


posted @ 2013-08-07 14:28  hr_whisper  阅读(123)  评论(0编辑  收藏  举报