欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

FPJ Problem 2088 最长队名

程序员文章站 2022-03-13 16:46:35
...

一,问题描述

FPJ Problem 2088 最长队名

二,问题分析

1.题目简单分析就会有思路,即按照字典顺序排序,并且拼接字符串,按照字典序的话可以直接排序算法,或者采用multiset

2.multiset可以保证插入的字符串按顺序排列

3.考虑到输入的队员姓名会有重名的情况,所以不采用set而使用multiset

三,问题解答

#include<iostream>
#include<string>
#include<set>
using namespace std;

int main() {
	int T;			//测试数据的组数
	cin >> T;
	for (int i = 0; i < T; i++) {
		int n;			//队员数
		cin >> n;
		multiset<string> team;
		string res;
		for (int i = 0; i < n; i++)			//输入队员名字
		{
			string name;
			cin >> name;
			team.insert(name);				//插入mulitset中
		}
		for (multiset<string>::iterator it = team.begin(); it != team.end(); it++) {		//利用迭代器遍历
			res.append(*it);						//append()函数进行拼接
		}
		cout << res << endl;
		team.clear();							//及时清空集合
	}

	return 0;
}

 

相关标签: FOJ