(Python)
from itertools import count, permutations, product
def is_subseq(s, p):
while s != "" and p != "":
if p[0] == s[0]: s = s[1:]
p = p[1:]
return s == ""
def a(n):
digits = "".join(str(i) for i in range(n))
for k in count(0):
for p in product(digits, repeat=k):
r, c_all = (digits + "".join(p))*2, True
for q in permutations(digits):
w = "".join(q)
if not any(is_subseq(w, r[j:j+n+k]) for j in range(n+k)):
c_all = False
break
if c_all:
return n+k
|