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
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;
|
|
}
|