• C. The Smallest String Concatenation


    C. The Smallest String Concatenation
    time limit per test
    3 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    You're given a list of n strings a1, a2, ..., an. You'd like to concatenate them together in some order such that the resulting string would be lexicographically smallest.

    Given the list of strings, output the lexicographically smallest concatenation.

    Input

    The first line contains integer n — the number of strings (1 ≤ n ≤ 5·104).

    Each of the next n lines contains one string ai (1 ≤ |ai| ≤ 50) consisting of only lowercase English letters. The sum of string lengths will not exceed 5·104.

    Output

    Print the only string a — the lexicographically smallest string concatenation.

    Examples
    Input
    4
    abba
    abacaba
    bcd
    er
    
    Output
    abacabaabbabcder
    
    Input
    5
    x
    xx
    xxa
    xxaa
    xxaaa
    
    Output
    xxaaaxxaaxxaxxx
    
    Input
    3
    c
    cb
    cba
    
    Output

    cbacbc

    字符串排序

    #include <bits/stdc++.h>
    using namespace std;
    
    typedef long long int llint;
    const int maxn = 5e4+100;
    string a[maxn];
    
    int cmp(const string &a, const string &b) {
    	return a + b < b + a;
    }
    
    int main() {
    	int n;
    	scanf("%d",&n);
    	for (int i = 0; i<n; i++)	cin >> a[i];
    	sort(a, a+n, cmp);
    	for (int i = 0; i<n; i++)	cout << a[i];
    	cout << endl;
    	return 0;
    }


  • 相关阅读:
    pycharm 社区版运行flask app相关配置
    飞冰框架学习记录
    从上一次到现在总结2
    从上一次到今天的总结1
    mybatis 遇到空串无法判断
    Shell 脚本入门
    数据库批量插入数据
    Navicat for mysql 实现数据库自动备份
    自定义校验注解
    C++ 提高编程
  • 原文地址:https://www.cnblogs.com/Tovi/p/6194803.html
Copyright © 2020-2023  润新知