题目描述
小红拿到了一个01串s。她将进行恰好一次以下操 作:
选择下标 i,j(i≠j)
,交换s[i]和s[j]。
小红想知道,不同的操作方案,最终能生成多少不 同的字符串?
输入描述
一个仅由’0’和’1’构成的字符串。字符串长度不小于2,不大于200000。
输出描述
一个整数,代表最终的方案数。
示例1
输入:
1100
输出:
5
说明:
共有以下5种不同字符串:
交换第一个和第二个字符,形成1100
交换第二个和第三个字符,形成1010
交换第二个和第四个字符,形成1001
交换第一个和第三个字符,形成0110
交换第一个和第四个字符,形成0101
C++
#include <bits/stdc++.h>
using