#W2056. Evil Straw Warts Live

Evil Straw Warts Live

写在前面

这是一道来自POJ的题,这个OJ是北大的垃圾OJ,采用的应该是C++99老系统,不能使用nullptr,string不能使用==判断相等,泛型省略也是不可以的,做题时请多加注意,防止出现CE,并且如果 C++ 无法通过而你认为没有问题请选择 G++ 提交。

题目描述

回文串是一被反转时等于自身的字符串。给定输入字符串(不一定是回文串),计算将字符串转换为回文所需的交换次数。交换的意思是颠倒两个相邻符号的顺序。例如,字符串“mamad”可以通过3个交换转换为回文“madam”:

交换 "ad" 以产生 "mamda" 交换 "md" 以产生 "madma" 交换 "ma" 以产生 "madam"

输入格式

第一行输入整数 nn,即测试用例的数量。对于每个测试用例,后面都有一行输入,其中包含多达 80008000 个小写字母的字符串。

输出格式

每个测试用例的输出由一行组成。这一行将包含交换次数,如果无法将输入转换为回文,则为Impossible

3
mamad
asflkj
aabb
3
Impossible
2