找网站设计公司,本地网站建设多少钱信息大全,网页设计实训报告范例,网络推广托管公司深圳题目描述
游游定义一个字符串是“好串”#xff0c;当且仅当该字符串相邻的字符不相等。例如arcaea是好串#xff0c;而food不是好串。 游游拿到了一个字符串#xff0c;她可以将该字符串的各个字符顺序随意打乱。她想知道一共可以生产多少种不同的…题目描述
游游定义一个字符串是“好串”当且仅当该字符串相邻的字符不相等。例如arcaea是好串而food不是好串。 游游拿到了一个字符串她可以将该字符串的各个字符顺序随意打乱。她想知道一共可以生产多少种不同的好串
输入描述:
一个仅包含小写字母的字符串长度不超过10。
输出描述:
好串的数量。
示例1
输入
aab
输出
1
说明
只有aba这一种好串。 示例2
输入
arc
输出
6
示例3
输入
aaa
aaa
输出
0
#includeiostream
#includealgorithm
using namespace std;
const int N 1e5 10;
int a[N];int panduan(string a) //判断当前排列组合是否符合好串
{int n a.length();int i 1;while (i n){if (a[i] a[i - 1]) return 0;i;}return 1;
}
int main()
{string a; cin a;sort(a.begin(), a.end());int sum 0;do {sum panduan(a);} while (next_permutation(a.begin(), a.end()));//会输出一段序列的全排序有返回true无返回falsecout sum endl;
}
【用法总结】C STL中 next_permutation函数的用法_荷叶田田_的博客-CSDN博客