#2007. 外星密码破解(AlienPC.cpp)
外星密码破解(AlienPC.cpp)
题目描述
在一次宇宙探险中,宇航员 Z 发现了一段奇怪的外星字符序列 ,它被认为是外星文明的机密通信密码。为了破解密码,Z 需要通过对字符序列进行操作来生成尽可能多的有效变种密码。
操作的规则如下:Z 可以选择密码字符串 中的任意两个位置 和 ,然后交换这两个位置的字符。每次操作仅允许交换一次。Z 想知道,通过一次这样的操作,最多可以生成多少个不同的密码组合。
- 注意,问的是操作一次后能得到的密码种类,请结合样例 理解。
更具体地描述为:假设密码字符串 的长度为 ,下标从 开始。Z 可以选择一个二元组 ,然后交换 中的第 个字符和第 个字符,其中 。
你的任务是帮助 Z 计算出可以通过一次操作生成的不同密码的数量。
输入格式
输入一行仅包含小写英文字母组成的字符串 ,表示外星密码。
输出格式
输出一行一个整数,表示通过一次操作可以生成的不同密码数量。
样例
abc
3
aaa
1
说明/提示
样例 1 解释
交换 和 会得到 bac
;
交换 和 会得到 cba
,
交换 和 会得到 acb
。
会产生 种不同的字符串。
数据范围
。
相关
在下列比赛中: