Uma otimização comum para economizar espaço nos binários é mesclar literais de cadeia de caracteres em que um literal é o sufixo de outro. Por exemplo, um binário com a string literal
a: foobar
b: bar
c: barbaz
d: foobarbaz
e: baz
pode conter o seguinte conjunto literal de cadeias ( #representando o \0-terminator):
foobar#foobarbaz#
com os símbolos a, b, ce dter os seguintes valores relativos ao início da piscina string:
a: 0
b: 3
c: 10
d: 7
e: 13
Nesta tarefa, você deve calcular o tamanho mínimo de um conjunto de cadeias para um determinado conjunto de cadeias de entrada.
Entrada
A entrada é uma série de até 999 strings, cada uma compreendendo até 80 caracteres ASCII (sem incluir a nova linha) no intervalo de 32 a 127 inclusive e, em seguida, um único caractere de nova linha.
Resultado
Encontre a cadeia mais curta, de modo que cada uma das cadeias de entrada (incluindo as novas linhas finais) sejam substrings dessa cadeia. A saída deve ser o comprimento dessa corda mais curta. Não produza a string, apenas seu comprimento.
Pontuação
Esse desafio é o código de golfe, são aplicadas brechas padrão. A solução com o menor comprimento em octetos vence.
Exemplos
Entrada:
foobar bar barbaz foobarbaz bazsequência mais curta,
#representando nova linha:foobar#foobarbaz#comprimento: 17
Entrada:
foobar foobaz foobarbaz barbazsequência mais curta,
#representando nova linha:foobar#foobaz#foobarbaz#comprimento: 24