UVA_10716 - Evil Straw Warts Live-------水题(模拟)
[cpp]#include<cstdlib>
#include<iostream>
#include<cstdio>
#include<cmath>
#include<set>
#include<cstring>
#include <algorithm>
#define inf 0x7fffffff
#define N 1000
#define MIN 1e-11
#define M 10001
#define MM 20020
#define LL long long
using namespace std;
int n,t,k;
char str[105];
int al[130];
int main()
{
#ifndef ONLINE_JUDGE
freopen("ex.in","r",stdin);
#endif
scanf("%d%*c",&t);
while(t--)
{
memset(al,0,sizeof(al));
gets(str);
int ok=1,cnt=0;
int len=strlen(str);
int l=len/2;
len-=1;
int first=1;
for(int i=0; i<l; i++)
{
int flag=0;
int j=len;
for(; j>i; j--)
{
if(str[i]==str[j])
{
flag=1;
break;
}
}
if(!flag&&(first||al[str[i]]))
{
al[str[i]]=1;
swap(str[i],str[i+1]);
cnt++;
i--;
first=0;
continue;
}
if(!flag&&!first)
{
ok=0;
break;
}
if(j!=len)
{
cnt+=len-j;
char c=str[j];
for(int k=j+1; k<=len; k++)
str[k-1]=str[k];
str[len]=c;
}
len--;
}
if(ok)
printf("%d\n",cnt);
else
printf("Impossible\n");
}
return 0;
}
补充:软件开发 , C++ ,