注意前导零的消去。
#include <iostream> #include <string> #include <sstream> #include <algorithm> using namespace std;string s[10000+10]; int n;bool cmp(const string &a, const string &b) {return a+b<b+a; }int main() {cin>>n;for(int i=1;i<=n;i++) cin>>s[i];sort(s+1,s+1+n,cmp);string ans;for(int i=1;i<=n;i++) ans=ans+s[i];int flag=0;for(int i=0;i<ans.size();i++){if(ans[i]!='0'){flag = 1;for(int j=i;j<ans.size();j++) cout<<ans[j];break;}}if(flag==0) cout<<"0";cout<<endl;return 0; }