字母异位词分组(charyw)

字母异位词分组

题目描述

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。

输入格式

第一行正整数n,表示有n个字符串(1<=n<=1000)

第二行n个字符串,空格隔开

输出格式

多组字母异位词,每组占一行,每个字符串空格隔开,每组字符次序与原字符串前后次序不变。

样例 #1

样例输入 #1

6
eat tea tan ate nat bat

样例输出 #1

eat tea ate
tan nat 
bat
cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
string s, x, c[1000];
map<string, string> b;
int n, cnt = 0;
int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> s;
		x = s;
		sort(x.begin(), x.end());
		if (b.find(x) == b.end()) {//新词
			b[x] = s;
			c[++cnt] = x;
		} else {//已有的就合在一起
			b[x] = b[x] + " " + s;
		}
	}
	for (int i = 1; i <= cnt; i++) {
		cout << b[c[i]] << endl;
	}
	return 0;
}
相关推荐
张太行_7 分钟前
C++中的析构器(Destructor)(也称为析构函数)
开发语言·c++
涛ing5 小时前
32. C 语言 安全函数( _s 尾缀)
linux·c语言·c++·vscode·算法·安全·vim
xrgs_shz5 小时前
MATLAB的数据类型和各类数据类型转化示例
开发语言·数据结构·matlab
独正己身5 小时前
代码随想录day4
数据结构·c++·算法
我不是代码教父8 小时前
[原创](Modern C++)现代C++的关键性概念: 流格式化
c++·字符串格式化·流格式化·cout格式化
利刃大大8 小时前
【回溯+剪枝】找出所有子集的异或总和再求和 && 全排列Ⅱ
c++·算法·深度优先·剪枝
子燕若水8 小时前
mac 手工安装OpenSSL 3.4.0
c++
*TQK*8 小时前
ZZNUOJ(C/C++)基础练习1041——1050(详解版)
c语言·c++·编程知识点
Rachela_z9 小时前
代码随想录算法训练营第十四天| 二叉树2
数据结构·算法
细嗅蔷薇@9 小时前
迪杰斯特拉(Dijkstra)算法
数据结构·算法