📄 pku1580.cpp
字号:
#include <stdio.h>
#include <string.h>
int count(char *a, char *b)
{
int i, cou;
for (i = 0, cou = 0; a[i] != '\0' && b[i] != '\0'; i++)
{
if (a[i] == b[i])
{
cou++;
}
}
return cou;
}
int gcd(int a, int b)
{
int tmp;
while (b != 0)
{
a = a % b;
tmp = a;
a = b;
b = tmp;
}
return a;
}
int main()
{
int l1, l2, i, max, tmp;
char s1[1000], s2[1000];
while (scanf("%s", s1) != -1)
{
if (strcmp(s1, "-1") == 0)
{
break;
}
scanf("%s", s2);
l1 = strlen(s1);
l2 = strlen(s2);
for (i = 0, max = 0; i < l2; i++)
{
tmp = count(s1, s2 + i);
if (tmp > max)
{
max = tmp;
}
}
for (i = 0; i < l1; i++)
{
tmp = count(s1 + i, s2);
if (tmp > max)
{
max = tmp;
}
}
tmp = l1 + l2;
max *= 2;
printf("appx(%s,%s) = ", s1, s2);
if (tmp == max)
{
printf("1\n");
}
else if (max == 0)
{
printf("0\n");
}else
{
printf("%d/%d\n", max / gcd (max, tmp), tmp / gcd (max, tmp));
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -