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十一月,我花开后百花杀。
  • 相关阅读:
    第一次极限测试效果图-完整四张
    第一次极限测试效果图
    ajax遍历list数据解决方法
    读书笔记1
    读书笔记2
    读书笔记3
    每日学习
    关于根据数据反选checkbox
    zabbix监控kernel.pid_max
    React 学习项目1
  • 原文地址:https://www.cnblogs.com/china-mjr/p/11266849.html
Copyright © 2011-2022 走看看