#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <functional>
#include <string>
using namespace std;
char str1[10000],str2[10000];
int match(int as,int ae,int bs,int be)
{
int con=0;
int i,j;
for(i=as,j=bs; i<ae&&j<be; i++,j++)
{
if(str1[i]==str2[j])
con++;
}
return con;
}
int gcd(int a,int b)
{
if(a==0)
return b;
else
return b==0?a:gcd(b,a%b);
}
int main()
{
while(scanf("%s",str1)!=EOF)
{
if(strcmp(str1,"-1")==0)
break;
scanf("%s",str2);
int maxm=0;
int len1=strlen(str1);
int len2=strlen(str2);
for(int i=0; i<len1; i++)
{
int res=match(i,len1,0,len2);
if(maxm<res)
maxm=res;
}
for(int i=0; i<len1; i++)
{
int res=match(0,len1,i,len2);
if(maxm<res)
maxm=res;
}
if(maxm==0)
printf("appx(%s,%s) = 0\n",str1,str2);
else
{
maxm=maxm*2;
int minn=gcd(maxm,len2+len1);
if(maxm==len2+len1)
printf("appx(%s,%s) = %d\n",str1,str2,(len2+len1)/minn);
else
{
printf("appx(%s,%s) = %d/%d\n",str1,str2,maxm/minn,(len2+len1)/minn);
}
}
}
return 0 ;
}
ZOJ 1170 String Matching
最新推荐文章于 2022-04-06 15:05:42 发布