uva 10905 Children's Game

题意:给n个数字,将它们重新排序得到一个最大的数字,

分析:写一个比较函数每次调用,比较a+b>b+a;

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<string>
 4 #include<algorithm>
 5 using namespace std;
 6 
 7 string s[60];
 8 int n;
 9 
10 bool cmp(string a,string b)
11 {
12    return a+b>b+a;
13 }
14 
15 int main()
16 {
17    while(scanf("%d",&n)!=EOF&&n)
18    {
19       for(int i=0;i<n;++i)
20          cin>>s[i];
21       sort(s,s+n,cmp);
22       for(int i=0;i<n;++i)
23          cout<<s[i];
24       cout<<endl;
25    }
26    return 0;
27 }

 

posted @ 2015-10-01 14:43  荼靡花开花事了  阅读(200)  评论(0编辑  收藏  举报