牛客练习赛42 A:字符串

链接:https://ac.nowcoder.com/acm/contest/393/A
来源:牛客网

 

找出连续相同最大的部分,这样可以保证 最长公共前缀 和 最长公共后缀 都是最大的。

#include<stdio.h>
#include<string.h>
#define N 200020
char a[N],b[N];
int maxi(int a,int b)
{
	return a>b?a:b;
}
int main()
{
	int len,i,max,sum;
	scanf("%s%s",a,b);
	max=0;
	sum=0;
	len=strlen(a);
	for(i=0;i<len;i++)
	{
		if(a[i] == b[i])
			sum++;
		else
		{
			max=maxi(max,sum);
			sum=0;	
		}
	}
	printf("%d\n",max*max+2*max);
	return 0;
}

 

posted @ 2019-03-15 19:29  宿星  阅读(78)  评论(0编辑  收藏  举报