You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
850 B

#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[8005];
char b[8005];
long long i,j,len,t=1,t1=0,sum=0;
scanf("%lld\n",&len);
for(i=0;i<len;i++)
{scanf("%c",&a[i]);
b[i]=a[i];
}
for(i=0;i<len-1;i++)
for(j=i+1;j<len;j++)
if(b[i]>b[j]){char c=b[i];b[i]=b[j];b[j]=c;}
for(i=0;i<len;i++)
if(b[i]==b[i+1]&&i<len){t++;}
else
{ if(t%2==1)t1++;
if(t1>=2)break;
t=1; }
if(t1>=2)printf("Impossible\n");
else
{ i=0;
for(j=len-1;j>i;j--)
{ for(t=j;t>i;t--)
if(a[t]==a[i])
{sum+=j-t;
b[0]=a[t];
while(t<j)
{a[t]=a[t+1];t++;}
a[j]=b[0];i++;break;
}
if(t==i&&j!=i){j++;char c=a[i];a[i]=a[i+1];a[i+1]=c;sum++;}
}
printf("%lld\n",sum);
}
return 0;
}