#5030. One Time Swap

0
    ID: 5030 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 2 上传者: 标签>AtCoderabc345CGESP 3级枚举(双层循环)哈希

One Time Swap

One Time Swap

题目描述

给定一个字符串 SS。求恰好执行下面的操作一次后可以得到的字符串的数量。

设 NN 为 SS 的长度。选择一对整数 (i,j)(i,j),满足 1\leq i<j\leq N,并交换 SS 的第 ii 个和第 jj 个字符。

可以证明在本题的约束下总可以执行此操作。

输入格式

输入按下列格式从标准输入给出: SS

输出格式

输出恰好执行题目中所述操作一次后可以得到的字符串的数量。

abc
3
aaaaa
1

提示

SS 是一个长度在 22 到 10610^6(含)之间的字符串,由小写英文字母组成。SS 的长度为 33,因此 1\leq i<j\leq 3 的整数对有三对:(1,2)(1,2)、(1,3)(1,3) 和 (2,3)(2,3)。

交换第 11 个和第 22 个字符后,SS 变为 bacbac。 交换第 11 个和第 33 个字符后,SS 变为 cbacba。 交换第 22 个和第 33 个字符后,SS 变为 acbacb。

因此,对 abcabc 执行该操作会得到三个字符串中的一个:bacbac、cbacba 和 acbacb,所以输出 33.
对任何两字符进行交换都会使 SS 保持为 aaaaaaaaaa。因此,操作后只有一个字符串能得到。

标签: AtCoder|abc345C

来源

AtCoder|abc345C