zoukankan      html  css  js  c++  java
  • [Jobdu] 题目1504:把数组排成最小的数

    题目描述:

    输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。

    输入:

    输入可能包含多个测试样例。
    对于每个测试案例,输入的第一行为一个整数m (1<=m <=100)代表输入的正整数的个数。
    输入的第二行包括m个正整数,其中每个正整数不超过10000000。

    输出:

    对应每个测试案例,
    输出m个数字能排成的最小数字。

    样例输入:
    3
    23 13 6
    2
    23456 56
    样例输出:
    13236
    2345656
     1 #include <cstdio>
     2 #include <iostream>
     3 #include <string>
     4 #include <vector>
     5 #include <algorithm>
     6 using namespace std;
     7  
     8 bool cmp(string s1, string s2)
     9 {
    10     string num1 = s1 + s2;
    11     string num2 = s2 + s1;
    12     return num1 < num2;
    13 }
    14  
    15 int main()
    16 {
    17     //freopen("input.txt", "r", stdin);
    18     int m;
    19     vector<string> v;
    20     while (cin >> m) {
    21         v.resize(m);
    22         for (int i = 0; i < m; i++) {
    23             cin >> v[i];
    24         }
    25         sort(v.begin(), v.end(), cmp);
    26         for (int i = 0; i < v.size(); i++) {
    27             cout << v[i];
    28         }
    29         cout << endl;
    30     }
    31     return 0;
    32 }
    33 /**************************************************************
    34     Problem: 1504
    35     User: hupo250
    36     Language: C++
    37     Result: Accepted
    38     Time:230 ms
    39     Memory:1528 kb
    40 ****************************************************************/
  • 相关阅读:
    paraview将csv格式显示为云图
    Valgrind安装与使用
    vscode+WSL+Debug+Cmake+OpenGL
    MFiX中DEM颗粒信息随时间变化
    origin添加两个Y轴
    conda回滚
    onedrive同步其他任意文件夹
    MFiX-DEM中的并行碰撞搜索
    MFiX-DEM中的串行碰撞搜索
    【Go】四舍五入在go语言中为何如此困难
  • 原文地址:https://www.cnblogs.com/easonliu/p/4180485.html
Copyright © 2011-2022 走看看