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;
    }


  • 相关阅读:
    第八周进度条
    对老师的评价
    构建之法阅读笔记03
    构建之法阅读笔记02
    第七周进度条
    团队冲刺第二周07
    团队冲刺第二周06
    Java jdbc 连接oracle
    Java 生成验证码
    Oracle 触发器的简单命令
  • 原文地址:https://www.cnblogs.com/Tovi/p/6194803.html
Copyright © 2011-2022 走看看