1、我要结束这种——看到题就想到暴力法,然后TLE,然后坐着发呆的悲催生活了!开始努力学算法中!
2、学习了cmp函数的用法。
3、题目的意思无非是,将给定几个数字排序,最后达到某种要求,我们需要设计的就是交换的条件。什么时候交换呢?当然是“换了比不换好“的时候交换。
4、cmp函数就相当于定义了小于号。
5、刚开始忘了判断n是否为0,WA了一次,以后再也不犯这种错误了。
#include<cstdio>
#include<iostream>#include<algorithm>
using namespace std;
int n;
string num[55];
bool cmp(const string &a,const string &b){
return a+b>b+a;
}
int main(){
int n;
while(scanf("%d",&n)==1&&n){
for(int i=0;i<n;i++)
cin>>num[i];
sort(num,num+n,cmp);
for(int i=0;i<n;i++)
cout<<num[i];
cout<<endl;
}
return 0;
}