Shiva一次能够把一个加号和它相邻的减号交换。
他想知道最少须要多少次操作才干把第一个字符串变换成第二个字符串。
你如今要去帮助他完毕那个这个问题。
++-+--+ -++--++
4
AC码:
#include<stdio.h>
#include<string.h>
char ch1[5005],ch2[5005];
int visit[5005];
int main()
{
int i,j,count,sum,len;
while(~scanf("%s%s",ch1,ch2))
{
memset(visit,0,sizeof(visit));
sum=0;
for(i=0;ch2[i]!=‘\0‘;i++)
{
count=0;
for(j=0;ch1[j]!=‘\0‘;j++)
{
if(!visit[j])
{
if(ch1[j]!=ch2[i])
{
count++;
}
else
{
visit[j]=1;
break;
}
}
}
sum+=count;
}
len=strlen(ch1);
for(i=0;i<len;i++)
{
if(!visit[i])
{
printf("-1\n");
break;
}
}
if(i>=len)
printf("%d\n",sum);
}
return 0;
}
原文:https://www.cnblogs.com/mqxnongmin/p/10580860.html