思维题
#include <iostream>
using namespace std;
char st[8005];
int main(){
int ch[26]={0};
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>st[i];
ch[st[i]-'a']++;
}
int num=0;
for(int i=0;i<26;i++){
if(ch[i]%2==1){
num++;
}
}
int temp=n-1;
if(num>=2){
cout<<"Impossible"<<endl;
return 0;
}else{
int sum=0;
for(int i=0;i<temp;i++){
for(int j=temp ;j>=i;j--){ //从后往前找
if(i==j){
sum+=n/2-i;
}else if(st[i]==st[j]){
for(int k=j;k<temp;k++){
swap(st[k],st[k+1]);
sum++;
}
temp--;
break;
}
}
}
cout<<sum<<endl;
}
return 0;
}