fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. vector<string> v;
  5.  
  6. bool cmp(string a,string b){
  7. int La=a.length(); int Lb=b.length();
  8. if( La==Lb ) return a>b;
  9.  
  10. int pa=0; int pb=0;;
  11. for(int i=0;i<La*Lb;i++){
  12. if( a[pa]!=b[pb] )
  13. return a[pa]>b[pb];
  14. pa++; pb++;
  15. if( pa==La ) pa=0;
  16. if( pb==Lb ) pb=0;
  17. }
  18. return a>b;
  19. }
  20.  
  21. int main() {
  22. int N;
  23. while( cin>>N and N>0 ){
  24. v.clear();
  25. for(int i=0;i<N;i++){
  26. string a;
  27. cin>>a;
  28. v.push_back(a);
  29. }
  30. sort( v.begin(),v.end(),cmp );
  31. for(int i=0;i<N;i++)
  32. cout<<v[i];
  33. cout<<'\n';
  34. }
  35. }
Success #stdin #stdout 0.01s 5344KB
stdin
4
123 124 56 90
5
123 124 56 90 9
5
9 9 9 9 9
3
12 123 1231
0
stdout
9056124123
99056124123
99999
123123112