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