zoukankan      html  css  js  c++  java
  • 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;
    }


  • 相关阅读:
    day09
    初识socket
    java正则表达式
    Servlet 3.0 新特性详解
    spring利用PropertiesFactoryBean管理属性配置文件properties
    MyBatis获取插入记录的自增主键
    深入学习理解java-ThreadLocal
    Mybatis批量执行语句
    MyBatis使用二级缓存
    编码的理解
  • 原文地址:https://www.cnblogs.com/Tovi/p/6194803.html
Copyright © 2011-2022 走看看