Lançando uma quantidade de <N> dardos Encontre todas as combinações possíveis para alcançar uma pontuação-alvo
Você recebe um alvo de dardos dividido em seções; cada seção tem uma pontuação única. Isso significa que não haverá duas seções com a mesma pontuação.

Lançando uma determinada quantidade de dardos válidos, encontre quantas soluções existem para alcançar a pontuação-alvo. Sua função receberá três parâmetros...
Seções: Uma lista de valores para as seções (por exemplo,
{ 3, 6, 8, 11, 15, 19, 22 }, a lista já está ordenada).Dardos: A quantidade de dardos a lançar.
Alvo: A pontuação-alvo.
Retorne uma lista vazia se nenhuma solução for encontrada; caso contrário, uma lista de strings não duplicadas para cada solução (por exemplo, { "3-11-18", "7-7-18", "7-11-14" }).
Exemplos
Se houver valores duplicados, mantenha apenas aquele ordenado do menor para o maior.
"8-19-8"
"8-8-19" <-- This is the one you would keep.
"19-8-8"As várias soluções devem ser ordenadas antes de serem retornadas.
{ "3-11-18", "7-7-18", "7-11-14" } is ok.
{ "7-11-14", "7-7-18", "3-11-18" } is not ok.Observações
- Vários dardos podem cair na mesma seção.
- Um dardo deve cair em uma seção válida (não pode errar).