Busca pelo caminho máximo em um triângulo numérico
Swift
Hard
loops
Tarefa «Busca pelo caminho máximo em um triângulo numérico»
Dado um triângulo de números inteiros. É necessário encontrar a soma máxima dos números em um caminho do topo até a base, movendo-se a cada passo uma linha para baixo e uma coluna para a esquerda ou para a direita (para os elementos vizinhos da linha seguinte). Implemente o algoritmo usando loops e programação dinâmica. O triângulo é definido pelo número de linhas N e, em seguida, pelas N linhas de números. Imprima um único número – a soma máxima.
Formato de Entrada
A primeira linha contém um número inteiro N (1 ≤ N ≤ 100). A seguir, vêm N linhas, cada uma com i+1 números inteiros (onde i é o número da linha, começando em 0). Os números em módulo não excedem 10^4.
Formato de Saída
Um único número inteiro – a soma máxima do caminho.
Exemplos
Exemplo 1
ENTRADA
4
5
9 6
4 6 8
0 7 1 5
SAÍDA
27
Exemplo 2
ENTRADA
1
SAÍDA
0
Exemplo 3
ENTRADA
3
1
2 3
4 5 6
SAÍDA
10
Exemplo 4
ENTRADA
2
1 2
3 4
SAÍDA
4
Exemplo 5
ENTRADA
2
SAÍDA
0
main.swift