#P86. 暑期集训S组-day5贪心算法

暑期集训S组-day5贪心算法

题目描述

小猪佩奇和小兔苏西在森林中散步,走着走着突然迷路了!他们走到了一条小路上,路上有 N 个房子,每个房子有一个彩色的气球。不幸的是,房子没有门牌号,让小猪佩奇和小兔苏西很难确定他们在小路上的位置。不过,每个房子的气球都有不同的颜色,所以小猪佩奇和小兔苏西希望只要观察连续的若干个气球颜色,他们就可以确定自己在小路上的位置。

每个气球的颜色由字母 A..Z 表示,因此沿着小路的 N个气球的序列可以用长度为 N 的字符串表示,其中每个字符都是 A..Z 范围内的字母。一些气球的颜色可能与其他气球的颜色相同。

如果小猪佩奇和小兔苏西观察到​任何长度为 K的连续气球的颜色在 N个气球中是唯一的​,他们就可以确定自己在小路上的位置。

请你编程计算出 K 的最小值,使得他们可以观察到任何长度为 K 的连续的气球颜色,就可以唯一地确定自己在小路上的位置。

例如,假设沿着小路的气球序列是 ABCDABC 。小猪佩奇和小兔苏西无法设置 K=3,因为如果他们看到 ABC,这个连续的颜色序列可能在小路上有两个位置。实际上,对于气球序列 ABCDABC,最小的 K 值是 K=4,因为如果他们观察任何连续的 4 个气球,这个颜色序列就可以唯一地确定他们在小路上的位置。

输入格式

第一行包含N。(1 ≤ N ≤ 100)

第二行包含一个长度为 N 的字符串,每个字符都是A..Z 范围内的字母。

输出格式

打印一行,包含一个整数,指定解决小猪佩奇和小兔苏西的问题的最小值 K 。

7
ABCDABC
4

提示

数据范围

1N100

【样例 1 解释】

对于气球序列 ABCDABC,如果他们观察任何连续的 4 个气球,这个颜色序列就可以唯一地确定他们在小路上的位置。