UVA 10905 - Children's Game

/*
地址  http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1846


題意,給n個數字,將它們重新排序得到一個最大的數字,好像給出444 555 666 拼爲 666555444 最大


水題一道,通過比較 A+B > B+A 是否成立,成立的話A在前面,


都以這種規則來排,排完後就是我們需要的最優序列








*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;




int main()
{
string a[55];
 int n;


    while(cin>>n,n)
    {
string s;
        for(int i=0;i<n;i++){
            cin>>a[i];
        }
         for(int i=1;i<n;i++)
            for(int j=0;j<n-i;j++){
                if(a[j]+a[j+1]<a[j+1]+a[j]){
                    string temp;
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
        for(int i=0;i<n;i++){
            cout<<a[i];
        }
        cout<<endl;
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章