小猪佩奇和小兔苏西在森林中散步,走着走着突然迷路了!他们走到了一条小路上,路上有 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
50 ABCDEFGHIJKLMNOPQRSTUVWXYBCDEFGHIJKLMNOPQRSTUVWXYZ
25
20 AAAAAAAAAAAAAAAAAAAA
20
1 \leq N \leq 100。
对于气球序列 ABCDABC
,如果他们观察任何连续的 4 个气球,这个颜色序列就可以唯一地确定他们在小路上的位置。
表示路上有 50 个气球,如果他们观察任何连续的 25 个气球,一定是不重复的。比如: ABCDEFGHIJKLMNOPQRSTUVWXY
、BCDEFGHIJKLMNOPQRSTUVWXYB
、CDEFGHIJKLMNOPQRSTUVWXYBC
等,如果 K \lt 25 可以找到重复的颜色,因此输出为 25。
表示路上有 20 个气球。假设所有气球颜色都相同,那么如果 K \lt 20,他们没有任何线索可以确定他的位置,因此输出为 20 。
东方博宜OJ