#12041. 一次性交换(ABC345C-One Time Swap)
一次性交换(ABC345C-One Time Swap)
Description
你得到一个字符串 S。找出通过执行以下操作恰好一次可以得到的不同字符串的数量。
设 N 为 S 的长度。选择一对整数 (i,j),满足 1≤i<j≤N,并交换 S 的第 i 个和第 j 个字符。
在本题的约束条件下,可以证明你总是可以执行这个操作。
Input Format
输入S。
Output Format
输出通过在 S 上执行上述操作恰好一次可以得到的不同字符串的数量。
abc
3
aaaaa
1
Hint
数据范围与提示 【样例1说明】 S 的长度为 3,所以满足 1≤i<j≤3 的整数对 (i,j) 有三个:(1,2)、(1,3) 和 (2,3)。
交换 S 的第 1 个和第 2 个字符得到 bac。 交换 S 的第 1 个和第 3 个字符得到 cba。 交换 S 的第 2 个和第 3 个字符得到 acb。
因此,对 abc 进行操作可以得到三个字符串:bac、cba 和 acb,所以打印 3。
【样例2说明】 交换任意两个字符都会使 S 保持为 aaaaa。因此,只有一个字符串可以通过操作得到。
【数据范围】 2≤S≤10^6^,S仅由小写英文字母组成。