字母异位词分组(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;
}
相关推荐
不知名XL10 小时前
day20 回溯算法part02
算法
fqbqrr10 小时前
2601C++,编译时连接两个串指针
c++
嵌入式进阶行者10 小时前
【算法】TLV格式解析实例:华为OD机考双机位A卷 - TLV解析 Ⅱ
数据结构·c++·算法
OC溥哥99910 小时前
Paper MinecraftV3.0重大更新(下界更新)我的世界C++2D版本隆重推出,拷贝即玩!
java·c++·算法
Jayden_Ruan10 小时前
C++蛇形方阵
开发语言·c++·算法
星火开发设计10 小时前
C++ map 全面解析与实战指南
java·数据结构·c++·学习·算法·map·知识
执笔论英雄10 小时前
【RL] advantages白化与 GRPO中 advantages均值,怎么变化,
算法·均值算法
2301_8008951010 小时前
hh的蓝桥杯每日一题
算法·职场和发展·蓝桥杯
老鱼说AI10 小时前
现代计算机系统1.2:程序的生命周期从 C/C++ 到 Rust
c语言·c++·算法
仰泳的熊猫10 小时前
题目1099:校门外的树
数据结构·c++·算法·蓝桥杯