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

    这是一道字符串的普及—的题。

    输入几组数字,怎样组合起来才可以使最后结果最大。一开始这道题类似于那道删数问题,每次删除递增序列的最后一位,达到最小。而这个题我也是想到了贪心做法,于是想逐位判断,让在前面的尾数越大越好,但想了想,不可行。再仔细看题,只要开一个string数组,把他们的字典序相加比较大小即可,因为字符串10+12=1012,所以重载一个cmp,再sort一下就好了。

    1.string也是有数组的,之前不知道,,

    2.巧妙利用sort和自定义cmp

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<cmath>
    #define N 10001
    using namespace std;
    int n;
    string s[N];
    bool cmp(string a,string b){//比较的字典序 
        return a+b > b+a;
    }
    int dis[N];
    int main(){
        cin>>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;
    }
    待到oi十一月,我花开后百花杀。
  • 相关阅读:
    线程高并发
    29(套接字)就是网络编程
    28线程
    27 枚举
    26静态导入和可变参数
    25JDK新特性
    25断言 assert关键字
    24单元测试 junit
    炫酷CSS
    PHP 汉字转拼音类
  • 原文地址:https://www.cnblogs.com/china-mjr/p/11266849.html
Copyright © 2011-2022 走看看