和你在一起+字符串排序
和你在一起
ECNU-3530
- 字符串的排序和数组的排序一样的
- 注意本题的特殊情况,需要从大到小排序。
- 而且需要注意543和5432这种情况,这里其实543更大,最后拼接的结果更大
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<cmath>
#include<map>
#include<vector>
#include<unordered_map>
#include<bitset>
#include<sstream>
using namespace std;
const int maxn=22;
string as[maxn];
bool cmp(string a,string b){
int lena=a.length();
int lenb=b.length();
int i=0,j=0;
for(;i<lena&&j<lenb;){
if(a[i]!=b[j]){
return a[i]>b[j];
}else{
i++;
j++;
}
}
if(i==lena&&j==lenb){
return true;
}
if(i<lena)//a更长
return false;
else return true;
}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
int a;
cin>>a;
stringstream ss;
ss<<a;
as[i]=ss.str();
}
sort(as,as+n,cmp);
for(int i=0;i<n;i++){
cout<<as[i];
}
cout<<endl;
return 0;
}
Either Excellent or Rusty