SOJ-最大整数

来源:互联网 发布:淘宝举报卖家售假 编辑:程序博客网 时间:2024/05/27 21:49

这题看起来好像是字典序排序,其实这样是错误的。

正确的做法是:每个都比较一次,按两种情况枚举,比如:117 71. ->11771,或者,71117,哪一种结果更好就行了。

#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std ;string num[8];bool cmp(string a,string b){string c=a+b;string d=b+a;if( c.compare(d)>0) return 1;else return 0;}int main(){int t,n;string a,b;    cin>>t;    while(t--){cin>>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];puts("");    } return 0 ;}


原创粉丝点击