P1039翻转字符(flip)
时间限制 1000 ms内存限制 512 MiB通过率 —
【题目背景】
Celia 在整理航海日志时,发现一条字符带被镜像装置倒置了。字符没有遗失,只是顺序完全相反,Celia 需要用装置仅有的交换功能将它恢复。

【题目描述】
给定一个长度为 、只包含小写英文字母的字符串 。将 中的字符顺序完全翻转后得到字符串 。
一次相邻交换可以选择字符串中两个相邻的字符,并交换它们的位置。
请你求出至少需要进行多少次相邻交换,才能将字符串 变为字符串 。
【输入格式】
从文件 中读入数据。
输入的第一行包含一个非负整数 ,表示测试点编号。 表示该测试点为样例。
第二行包含一个正整数 ,表示字符串的长度。
第三行包含一个长度为 的字符串 ,保证其中只含小写英文字母。
【输出格式】
输出到文件 中。
输出一行一个整数,表示将字符串 变为字符串 所需的最少相邻交换次数。
【样例 1 输入】
05aaaza【样例 1 输出】
2【样例 2 输入】
06cbaabc【样例 2 输出】
0【样例 3 输入】
09icpcsguru【样例 3 输出】
30【说明/提示】
【样例 1 解释】
字符串 为 azaaa。将字符 z 连续向右交换两次即可得到 aaaza,因此答案为 。
【样例 2 解释】
字符串 翻转后仍为 cbaabc,无需进行操作。
【样例 3 解释】
无论采用何种操作顺序,都至少需要进行 次相邻交换。存在一种操作方案恰好使用 次操作。
【样例 4】
见选手目录下的 和 。
该组样例符合测试点 的数据范围。
【样例 5】
见选手目录下的 和 。
该组样例符合测试点 的数据范围。
【样例 6】
见选手目录下的 和 。
该组样例符合测试点 的数据范围。
【样例 7】
见选手目录下的 和 。
该组样例符合测试点 的数据范围。
【数据范围】
对于全部测试数据,保证 。
| 测试点编号 | |
|---|---|
【题解】
已公开 1 篇题解,官方题解会优先显示。