字符串。
#include <cstdio>
#include <cstring> int visit[];
char s[]; int main() {
int n, len;
int i, j, k, tmp, l; while (scanf("%d%*c", &n)!=EOF && n) {
gets(s+);
memset(visit, , sizeof(visit));
len = tmp = ;
for (i=k=; s[i]; ++i) {
if (visit[s[i]] == ) {
++tmp;
if (tmp>n && i-k>len)
len = i - k;
while (tmp > n) {
if (--visit[s[k]] == )
--tmp;
++k;
}
}
visit[s[i]]++;
}
if (i-k > len)
len = i - k;
printf("%d\n", len);
} return ;
}