hdu 1306 String Matching

来源:互联网 发布:淘宝网购物女装衬衣 编辑:程序博客网 时间:2024/06/05 16:45
#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;}

0 0
原创粉丝点击