uva 10905 - Children's Game

简介: 点击打开链接 题目意思:    输入n个数,要求找到一个组合方式,使得值最大输出这个值 解题思路:    自定义cmp函数以及排序应用                      1:这一题的输入的数据当成string处理比较方便,在cmp函数的时候就会非常简洁,但是时间效率不高                      2:题目要求组合成一个最大的数,这个时候我们想到了排序,但是按照平时的排序我们就会发现是错的,所以呢我们就要自己写cmp函数了。

点击打开链接


题目意思:    输入n个数,要求找到一个组合方式,使得值最大输出这个值


解题思路:    自定义cmp函数以及排序应用

                     1:这一题的输入的数据当成string处理比较方便,在cmp函数的时候就会非常简洁,但是时间效率不高
                     2:题目要求组合成一个最大的数,这个时候我们想到了排序,但是按照平时的排序我们就会发现是错的,所以呢我们就要自己写cmp函数了。具体思路是这样的,比较两个字符串,例如90和56,判断是9056大还是5690大,相应的返回true和false,那么这样最后只要顺序打印就是我们要得答案了


代码:

#include <algorithm>
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include <cstdio>
#include <stack>
#include <queue>
#include <cmath>
#include <set>
using namespace std;
#define MAXN 55

int n;
string str[MAXN];

//自定义cmp函数
bool cmp(string s1 , string s2){
    if(s1+s2 > s2+s1) return true;
    return false;
}

int main(){
    //freopen("input.txt" , "r" , stdin);
    while(scanf("%d" , &n) && n){
        for(int i = 0 ; i < n ; i++)
            cin>>str[i];
        sort(str , str+n , cmp);
        for(int i = 0 ; i < n ; i++)
            cout<<str[i];
        printf("\n");
    }
    return 0;
}


目录
相关文章
|
算法
uva 10891 game of sum
题目链接 详细请参考刘汝佳《算法竞赛入门经典训练指南》 p67
31 0
|
算法 索引
LeetCode 45. Jump Game II
给定一个非负整数数组,初始位置在索引为0的位置,数组中的每个元素表示该位置的能够跳转的最大部署。目标是以最小跳跃次数到达最后一个位置(索引)。
80 0
LeetCode 45. Jump Game II
|
算法 索引
LeetCode 55. Jump Game
给定一个非负整数数组,您最初定位在数组的第一个索引处。 数组中的每个元素表示该位置的最大跳转长度。 确定您是否能够到达最后一个索引。
90 0
LeetCode 55. Jump Game
LeetCode 390. Elimination Game
给定一个从1 到 n 排序的整数列表。 首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾。 第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数字进行删除,直到列表开头。 我们不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。 返回长度为 n 的列表中,最后剩下的数字。
102 0
LeetCode 390. Elimination Game
|
人工智能 算法 大数据
|
算法
[LeetCode]--55. Jump Game
Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Dete
1260 0
|
决策智能
[LeetCode]--292. Nim Game
You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone
1090 0