蓝桥杯之最小字符串 C++

目录

题目描述

思路分析

AC代码


时间限制1s

内存限制128MB

难度3

题目描述

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

输入

  第一行T,表示有T组数据。
  接下来T组数据
  每组第一行一个正整数n,表示字符串个数。
  接下来n行,每行一个字符串(长度不超过100)。

输出

T行,每行一个字符串。

输入样例1

1
3
a
b
c

输出样例1

abc

思路分析

其实就是如何排序这些字符串,就是看它们是如何组合出最小的字符串,先两两组合比较排序就可以了。

AC代码

#include<iostream>
#include<algorithm>
using namespace std;
bool rule(string a, string b)
{
	return (a + b) < (b + a);
}
int main() 
{
	int n, i, t;
	cin >> t;
	while (t--) 
	{
		cin >> n;
		string *p = new string[n];
		for (i = 0; i < n; i++)
			cin >> p[i];
		sort(p, p + n, rule);
		for (i = 0; i < n; i++)
			cout << p[i];
		cout << endl;
		delete[] p;
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_62264287/article/details/125321646