解答代码
#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>using namespace std;int main(){ int i,k,n,flag=0,ans=0,pos; cin>>n; getchar(); char *s=(char *)malloc(sizeof(char)*n); gets(s); int end=n-1; pos=0; for(i=0;i<end;i++) { for(k=end;k>=0;k--) { if(k==i) { flag++; if(n%2==0 || flag>1) { cout<<"Impossible"<<endl; return 0; } pos=n/2-i; break; } else if(s[k]==s[i]) { ans+=end-k; for(int index=k;index<end;index++) s[index]=s[index+1]; s[end]=s[i]; end--; break; } } } cout<<ans+pos<<endl; return 0;}
新闻热点
疑难解答