http://www.luogu.org/problem/show?pid=1012
题目描述
设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
输入输出格式
输入格式:
第一行,一个正整数n。
第二行,n个正整数。
输出格式:
一个正整数,表示最大的整数
如此的水题居然想错,真是弱成狗...
//本来想直接排序下倒序输出,发现并不对 #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; vector<string> book; bool cmp(string s1,string s2){ return s1+s2<s2+s1; } int main() { int n;cin>>n; while(n--){ string s;cin>>s; book.push_back(s); } sort(book.begin(),book.end(),cmp); ;i>=;i--) cout<<book[i]; ; }