4151: 使 S 等于 atcoder 所需的最小操作次数
内存限制:1024 MB
时间限制:2.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
# "redocta".swap(i,i+1)
## 题目描述
给你一个字符串 $S$,它是 `atcoder` 的一个排列。你可以在这个字符串 $S$ 上执行以下操作 $0$ 次或更多次:
- 选择 $S$ 中的两个相邻字符并交换它们。
找出使 $S$ 等于 `atcoder` 所需的最小操作次数。
输入
## 输入格式
输入$S$
输出
## 输出格式
输出所求答案。
样例输入 复制
catredo
样例输出 复制
8
提示
## 输入输出样例
### 输入样例1
```
catredo
```
### 输出样例1
```
8
```
### 输入样例2
```
atcoder
```
### 输出样例2
```
0
```
### 输入样例3
```
redocta
```
### 输出样例3
```
21
```
## 数据范围与提示
【样例1说明】
你可以通过8次操作使 $S$ 等于 `atcoder`,如下所示:
`catredo` → `[ac]tredo` → `actre[od]` → `actr[oe]d` → `actro[de]` → `act[or]de` → `acto[dr]e` → `a[tc]odre` → `atcod[er]`
这是可以实现的最小操作次数。
【样例2说明】
在这种情况下,字符串 $S$ 已经是 `atcoder`。
【数据范围】
$S$ 是 `atcoder` 的一个排列。
## 题目来源
ABC264D