用dfs解决,假设一共n个字符串,那么dfs(tar)表示我们现在选取第tar个字符串里的字符。
为了保证字符不同,我们开辟一个tong数组记录每个字符出现了几次。
为了保证结果字符串都不同,我们开辟一个hashmap存每个字符串有没有出现过(开set也可以)
(第一题实际上是一个链表题,那个不方便制作题目,也没啥难度,这里不录入OJ了)
小红是一位喜欢挑战自己的年轻人,他最近在研究字符串的重组问题。他的研究对象是N个小写字母字符串,每个字符串最长只有8个字母。他想设计一个游戏,让自己和朋友们一起玩,看看谁能拼出更多不同的重组字符串。
他决定使用自己的研究成果,计算出所有可能的重组字符串数量。具体地说,他从 每个字符串中选出一个字母,拼成一个新的字符串,同时要求新的字符串不能有重复的字母 。
现在小红想请你来玩一下这个游戏,请问你能拼出多少种不同的重组字符串?
第一行输入整数为N
第二行到第N+1行输入N个字符串,全部由小写字母组成
2≤N≤6
1≤len(字符串)≤8
输出一个整数,代表总共能组成多少个重组字符串
输入
5
abca
acds
aca
vac
bba
输出
6