Next: Serpente Up: Enunciados Previous: Triângulo
Considere um tabuleiro 4x4 com um operador aritmético binário e um operando inteiro em cada casa (quadrado). Começando com o valor 0 como valor corrente, escolha um caminho que visite cada casa do tabuleiro exactamente uma vez. Cada uma das vezes que visita uma casa, efectua a operação nela indicada considerando o valor corrente como o primeiro operando e o número no quadrado como o segundo operando. O resultado da operação passa então a constituir o valor corrente. No final do caminho, o valor corrente (valor final do caminho) irá depender do caminho escolhido. Pretende-se que implemente um predicado tabuleiro/3 que encontra o valor final máximo entre todos os caminhos e o número de caminhos que possuem este valor final máximo. Segue-se um exemplo de tabuleiro e da estrura de dados que o representa:
|
|
O predicado tabuleiro/3 que irá desenvolver, recebe no primeiro argumento o tabuleiro, produzindo no segundo argumento o valor final máximo e no terceiro o número de caminhos que têm como valor o valor final máximo.
Next: Serpente Up: Enunciados Previous: Triângulo