zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 9 C. The Smallest String Concatenation 排序

    C. The Smallest String Concatenation

    题目连接:

    http://www.codeforces.com/contest/632/problem/C

    Description

    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.

    Sample Input

    4
    abba
    abacaba
    bcd
    er

    Sample Output

    abacabaabbabcder

    Hint

    题意

    给你n个串,然后你要组合这n个串,使得n个串的字典序最小

    题解:

    写个CMP就好了~

    代码

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn = 5e4+5;
    string s[maxn];
    bool cmp(string a,string b)
    {
        string ab = a+b;
        string ba = b+a;
        return ab<ba;
    }
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
            cin>>s[i];
        sort(s,s+n,cmp);
        for(int i=0;i<n;i++)
            cout<<s[i];
        cout<<endl;
    }
  • 相关阅读:
    努力
    散步
    相信自己
    我仅有的倔强
    存储过程 有用
    面试题整理 !=!=未看 *****面试题整理最全 有用
    项目介绍4 y有用
    面试题;40个多线程的问题 背1 有用
    面试题: redis面试题 有用 redis详细
    数据库相关内容 已看1 有用
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5236792.html
Copyright © 2011-2022 走看看