zoukankan      html  css  js  c++  java
  • 洛谷P1012 拼数

    题目描述

    设有 nnn 个正整数 (n≤20)(n≤20)(n20) ,将它们联接成一排,

    组成一个最大的多位整数。

    例如: n=3 时,

    3个整数 13, 312 , 343

    联接成的最大整数为: 34331213

    又如: n=4 时, 4个整数 7 , 13, 4, 246

    联接成的最大整数为: 7424613

    输入输出格式

    输入格式:

    第一行,一个正整数 n

    第二行, n个正整数。

     

    输出格式:

    一个正整数,表示最大的整数

     

    输入输出样例

    输入样例#1: 复制
    3
    13 312 343
    
    输出样例#1: 复制
    34331213


    快排或者冒泡
    冒泡的原理是每次将一个无论和谁组合
    都是将它放在后面最优的选出来,选n-1次最小的就可以了。
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    
    int n;
    
    string s[22];
    
    bool cmp(string a,string b){
        return a+b>b+a;
    }
    
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++)cin>>s[i];
        sort(s+1,s+n+1,cmp);
        for(int i=1;i<=n;i++)cout<<s[i];
        return 0;
    }
    
    
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    
    int n;
    
    string s[22];
    
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++)cin>>s[i];
        for(int i=1;i<n;i++){
            for(int j=1;j<n;j++)
             if(s[j]+s[j+1]<s[j+1]+s[j])swap(s[j],s[j+1]);
        }
        for(int i=1;i<=n;i++)cout<<s[i];
        return 0;
    }

    冒泡过程

    7
    3 54 47 2 77 450 1
    775447450321
    
    3 54 47 2 77 450 1
    54 47 3 77 450 2 1
    54 47 77 450 3 2 1
    54 77 47 450 3 2 1
    77 54 47 450 3 2 1
    
    8
    34 25 2 98 34 25 14 45
    984534342525214
    
    34 25 2 98 34 25 14 45
    34 25 98 34 25 2 45 14
    34 98 34 25 25 45 2 14
    98 34 34 25 45 25 2 14
    98 34 34 45 25 25 2 14
    98 34 45 34 25 25 2 14
    98 45 34 34 25 25 2 14


  • 相关阅读:
    迭代合并排序算法
    appendChild和insertBefore的区别
    使用定时器处理数组
    正则表达式 删除string首尾的空白
    图片滚动
    数组合并法(IE7性能优化)
    赋值取值+arguments
    条件预加载(conditional advanceloading)
    Just a Note~
    腾讯马拉松复赛第一场
  • 原文地址:https://www.cnblogs.com/zzyh/p/9419861.html
Copyright © 2011-2022 走看看