freeCodeCamp/curriculum/challenges/portuguese/08-coding-interview-prep/project-euler/problem-424-kakuro.portugue...

3.6 KiB

id challengeType title videoUrl localeTitle
5900f5141000cf542c510026 5 Problem 424: Kakuro Problema 424: Kakuro

Description

O exemplo acima é um quebra-cabeça enigmático de kakuro (também conhecido como soma cruzada, ou até mesmo soma cruzada), com sua solução final à direita. (As regras comuns dos quebra-cabeças do kakuro podem ser encontradas facilmente em vários sites da internet. Outras informações relacionadas também podem ser encontradas em krazydad.com, cujo autor forneceu os dados do quebra-cabeça para esse desafio.)

O arquivo de texto para download (kakuro200.txt) contém a descrição de 200 quebra-cabeças, uma mistura de tipos 5x5 e 6x6. O primeiro quebra-cabeça no arquivo é o exemplo acima, codificado da seguinte maneira:

6, X, X, (vCC), (vI), X, X, X, (hH), B, O, (vCA), (vJE), X, (hFE, vD), O, O, O, O, (hA), O, I, (hJC, vB), O, O, (hJC), H, O, O, O, X, X, X, (hJE), O, O, X

O primeiro caractere é um dígito numérico que indica o tamanho da grade de informações. Seria um 6 (para um quebra-cabeça 5x5 kakuro) ou um 7 (para um quebra-cabeça 6x6) seguido por uma vírgula (,). A linha superior extra e a coluna esquerda são necessárias para inserir informações.

O conteúdo de cada célula é então descrito e seguido por uma vírgula, indo da esquerda para a direita e começando com a linha superior. X = Célula cinza, não precisa ser preenchida por um dígito. O (letra maiúscula) = Célula vazia branca a ser preenchida por um dígito. A = Ou qualquer uma das letras maiúsculas de A a J para ser substituída por seu dígito equivalente no quebra-cabeça resolvido. () = Localização das somas criptografadas. As somas horizontais são precedidas por um minúsculo "h" e as somas verticais são precedidas por um minúsculo "v". Estes são seguidos por uma ou duas letras maiúsculas, dependendo se a soma for um único dígito ou um dígito duplo. Para somas de dois dígitos, a primeira letra seria para as "dezenas" e a segunda para as "unidades". Quando a célula deve conter informações para uma soma horizontal e vertical, a primeira é sempre para a soma horizontal e as duas são separadas por uma vírgula dentro do mesmo conjunto de colchetes, ex .: (hFE, vD). Cada conjunto de colchetes também é imediatamente seguido por uma vírgula.

A descrição da última célula é seguida por uma Carriage Return / Line Feed (CRLF) em vez de uma vírgula.

A resposta necessária para cada quebra-cabeça é baseada no valor de cada letra necessária para chegar à solução e de acordo com a ordem alfabética. Como indicado no exemplo de quebra-cabeça, sua resposta seria 8426039571. Pelo menos 9 das 10 letras criptografadas sempre fazem parte da descrição do problema. Quando somente 9 são dados, o ausente deve ser atribuído o dígito restante.

Você está informado de que a soma das respostas dos primeiros 10 quebra-cabeças no arquivo é 64414157580.

Encontre a soma das respostas para os 200 quebra-cabeças.

Instructions

undefined

Tests

tests:
  - text: <code>euler424()</code> deve retornar 1059760019628.
    testString: 'assert.strictEqual(euler424(), 1059760019628, "<code>euler424()</code> should return 1059760019628.");'

Challenge Seed

function euler424() {
  // Good luck!
  return true;
}

euler424();

Solution

// solution required