#include<stdio.h>
#include<string.h>
int main()
{
int s[1010],i,j,t,r,n,m,x,y;
char a[1010],b[1010];
while(scanf("%s",a)&&(strcmp(a,"-1")))
{
scanf("%s",b);
memset(s,0,sizeof(s));
n=strlen(a);
m=strlen(b);
r=n<m?m:n;
for(j=0;j<r;j++)
{
for(i=0;i+j<r;i++)
if(a[i+j]==b[i]) s[j]++;
for(t=0;t+j<r;t++)
if(a[t]==b[t+j]) s[r+j]++;
}//先找出最长的字符串长度,然后让两个字符串错位比较
for(t=s[0],i=1;i<r+j;i++)
if(t<s[i]) t=s[i];
printf("appx(%s,%s) = ",a,b);
if(t==0) printf("0\n");
else{
x=n+m;y=t*2;
if(x==y) printf("1\n");
else{
j=x<y?x:y;
for(;j>0;j--)
if(x%j==0&&y%j==0) break;
x/=j;y/=j;
printf("%d/%d\n",y,x);
}
}
}
return 0;
}
hdu 1306 String Matching
最新推荐文章于 2021-02-19 10:32:38 发布
