Оператор задачи просит найти, сколько строк длины N, образованных только 1 и 0, существует так, что они не содержат заданную подстроку (только с 1 и 0) длины M
f1 = open("input.txt", "r")
f2 = open("output.txt", "a+")
T = int(f1.readline())
for n in range(1, T+1):
N, M = (int(x) for x in f1.readline().split())
sub = f1.readline()
c = 0
for number in range(0, 2**(N)):
number = bin(number)
number = number[2:]
while len(number) != N:
number = "0"+number
if sub not in number:
c += 1
f2.write(f"Case #{n}: {c}\n")
f1.close()
f2.close()
Это моя попытка, но это просто грубая сила. Первая часть просто разбирает ввод