UVa-10905 Children's Game

    xiaoxiao2021-03-26  22

    给定n个整数,把他们连接成一个最大的整数,如123,124,56,90连接成9056124123 考虑:先将其进行排序,比如先取两个数啊a,b,若 a+b>b+a 则 把其合成ab的形式再与其他数字用相同的方法进行比较,合成,最后的结果一定是最大的 #include<iostream> #include<algorithm> #include<cstring> using namespace std; bool cmp(string a,string b){ return a+b>b+a;//string大小的比较是从第一位字符开始 } int main(){ int n; while(cin>>n&&n){ string a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } sort(a,a+n,cmp);//cmp是比较函数自己编写 for(int j=0;j<n;j++){ cout<<a[j]; } cout<<endl; } return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-662207.html

    最新回复(0)