分析:分别将两个字符串不断右移,找出移动次数最少的答案。
Source:
#include<stdio.h>
#include<string.h>
#define MAX 110
int main()
{
char s1[MAX],s2[MAX];
int i,j,k,l1,l2,ans1,ans2;
while(scanf("%s%s",s1,s2)!=EOF)
{
l1=strlen(s1);
l2=strlen(s2);
i=j=k=0;
while(i<l1&&j<l2)
{
if(s1[i]+s2[j]<=2*'0'+3)
{
i++;
j++;
}
else
{
k++;
i=0;
j=k;
}
}
ans1=l1+l2-i;
i=j=k=0;
while(i<l1&&j<l2)
{
if(s1[i]+s2[j]<=2*'0'+3)
{
i++;
j++;
}
else
{
k++;
j=0;
i=k;
}
}
ans2=l1+l2-j;
printf("%d\n",ans1<ans2 ? ans1:ans2);
}
return 0;
}