1012 拼数

1012 拼数

难度:普及-

题目类型:字符串

提交次数:2

涉及知识:vector\sort

题目描述

设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。

例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213

又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613

代码:

#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;
bool comp(string a, string b){
    return a+b>b+a;
}
int main(){
    int n, i;
    cin>>n;
    vector<string>s;
    s.clear();
    for(i = 0; i < n; i++){
        string ss;
        cin>>ss;
        s.push_back(ss);
    }
    sort(s.begin(), s.end(), comp);
    for(i = 0; i < n; i++)
        cout<<s[i];
    return 0;
}

备注:老师强调的地方就是自己写的comp函数,注意特殊的是两个加在一起比。(特殊数据:3 32 1)还有一个小问题是不定长的vector不能直接用下标输入,要用push_back输入。

时间: 2024-11-06 14:56:11

1012 拼数的相关文章

字符串处理排序(洛谷1012 拼数)

设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 输入格式: 第一行,一个正整数n. 第二行,n个正整数. 输出格式: 一个正整数,表示最大的整数 输入样例#1: 3 13 312 343 输出样例#1: 34331213字符串水题,不多解释. #include<bits/stdc++.h> using name

洛谷 P1012 拼数

P1012 拼数 标签 字符串 排序 NOIp提高组 1998 云端 难度 普及- 时空限制 1s / 128MB 题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 输入输出格式 输入格式: 第一行,一个正整数n. 第二行,n个正整数. 输出格式: 一个正整数,表示最大的整数 输入输出样例 输入样例#1:

P1012 拼数

P1012 拼数 输入输出样例 输入样例 3 13 312 343 输出样例 34331213 注意 当你输入: 6321 32 407 135 13 217 应该输出: 4073232121713513 代码: #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> #include<string> using

拼数--洛谷1012

分析:转化为字符串,然后按照字典序比较全排列,找出最大的 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<cmath> 6 using namespace std; 7 const int maxn=22; 8 string str[maxn]; 9 int a[maxn]; 10 int n; 11 string

洛谷——P1012 拼数

https://www.luogu.org/problem/show?pid=1012#sub 题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 输入输出格式 输入格式: 第一行,一个正整数n. 第二行,n个正整数. 输出格式: 一个正整数,表示最大的整数 输入输出样例 输入样例#1: 3 13 312

洛谷-拼数-NOIP1998提高组复赛

题目描述 Description 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 输入输出格式 Input/output 输入格式: 第一行,一个正整数n. 第二行,n个正整数. 输出格式: 一个正整数,表示最大的整数 输入输出样例 Sample input/output 样例测试点#1 输入样例: 313131

luogu P1012 拼数

题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 输入输出格式 输入格式: 第一行,一个正整数n. 第二行,n个正整数. 输出格式: 一个正整数,表示最大的整数 输入输出样例 输入样例#1: 3 13 312 343 输出样例#1: 34331213 #include<iostream> #includ

【洛谷试炼场】【模拟专题】P1012 拼数

[题目描述] 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 [输入格式] 第一行,一个正整数n. 第二行,n个正整数. [输出格式] 一个正整数,表示最大的整数 [输入样例#1] 3 13 312 343 [输出样例#1]34331213 本题思路: 水题.用字符串存储 一个自定义排序搞定:两个字符串在 正着方

洛谷P1012 拼数

题目描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613 输入输出格式 输入格式: 第一行,一个正整数n. 第二行,n个正整数. 输出格式: 一个正整数,表示最大的整数 输入输出样例 输入样例#1: 3 13 312 343 输出样例#1: 34331213 分析:显然,就是字典序最大,利用string排序一下就