最小字符串

简介: 最小字符串

【问题描述】


给定一些字符串(只包含小写字母),要求将他们串起来构成一个字典序最小的字符串。


【输入格式】


第一行T,表示有T组数据。

接下来T组数据

每组第一行一个正整数n,表示字符串个数。

接下来n行,每行一个字符串(长度不超过100)。


【输出格式】


T行,每行一个字符串。


【样例输入】


1

3

a

b

c


【样例输出】


abc


【参考代码】

#include <bits/stdc++.h>
using namespace std;
bool cmp(string const s1, string const s2) {
    return s1 + s2 < s2 + s1;
}
int main() {
    ios::sync_with_stdio(false);
    int t;
    cin >> t;
    while (t--) {
        vector<string> vec;
        int n;
        cin >> n;
        while (n--) {
            string temp;
            cin >> temp;
            vec.push_back(temp);
        }
        sort(vec.begin(), vec.end(), cmp);
        for (vector<string>::iterator it = vec.begin(); it != vec.end(); it++) {
            cout << *it;
        }
        cout << endl;
    }
    return 0;
}
相关文章
|
6月前
|
算法 前端开发
根据模式串构造最小数字
根据模式串构造最小数字
51 0
|
6月前
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求值最大的那个 给定n个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一
给定 n 个整数,求里面出现次数最多的数,如果有多个重复出现的数,求值最大的那个 给定n个整数,求里面出现次数最多的数,如果有多个重复出现的数,求出值最大的一
|
3月前
|
存储 算法 索引
|
6月前
|
算法 测试技术 C#
【位运算 试填法】【推荐】3022. 给定操作次数内使剩余元素的或值最小
【位运算 试填法】【推荐】3022. 给定操作次数内使剩余元素的或值最小
|
6月前
对任意给定的两个正整数,100<n<m<1000,计算这两个数之间所有素数和,包含m,n自身
对任意给定的两个正整数,100<n<m<1000,计算这两个数之间所有素数和,包含m,n自身
50 0
对任意给定的两个正整数,100<n<m<1000,计算这两个数之间所有素数和,包含m,n自身
|
6月前
|
Python
计算小于或等于n的非负整数区间包含的1的数量
计算小于或等于n的非负整数区间包含的1的数量
59 0
长度最小的子数组
长度最小的子数组
给定一个字符串,能否最多删除一段连续的一段使得剩下的为“2020”
给定一个字符串,能否最多删除一段连续的一段使得剩下的为“2020”
84 0
7-10 找最小的字符串 (15 分)
7-10 找最小的字符串 (15 分)
312 0