题目地址:http://pat.zju.edu.cn/contests/pat-a-practise/1038
思路分析:主要在于确立排序规则
代码如下:
#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
vector<string> v;
int cmp(string s1,string s2){
string a=s1+s2;
string b=s2+s1;
return a.compare(b)<0;
}
int main()
{
freopen("C:\\Users\\Devon\\Desktop\\input.txt","r",stdin);
int n;
cin>>n;
for(int i=0;i<n;i++){
string temp;
cin>>temp;
v.push_back(temp);
};
sort(v.begin(),v.end(),cmp);
string result="";
for(int i=0;i<n;i++) result+=v[i];
int i;
for(i=0;i<result.length();i++) if(result[i]!='0') break;
result=result.substr(i);
if(result.length()==0) cout<<0<<endl;
else cout<<result<<endl;
return 0;
}