[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [obm-l] mais uma!
On Sat, 3 Aug 2002, David Turchick wrote:
> Para ir de 6 amebas para 25 amebas o mais rápido possível, vc pode tanto
> fazer:
> 6 -> 5 -> 4 -> 28 -> 27 -> 26 -> 25, como
> 6 -> 30 -> 29 -> 28 -> 27 -> 26 -> 25, e ambas são feitas no menor tempo
> possível. (Não provei, mas acho que dá p/ entender o que eu tô fazendo,
> tendo pensado um pouquinho no problema. Caso contrário, diga.)
Falso!
De 6 para 25 é possível fazer:
6 -> 5 -> 25
Quanto ao problema original, esse exemplo mostra que multiplicar sempre
por 7 e não utilizar outros valores pode não levar ao tempo mínimo.
Ao meu ver entendi o problema pela seguite recorrência:
T(1) = 0
T(n) = min(T(n+1), min{2<=i<=7 e i divide n}(T(n/i))
Como a minha área é programação, implementei um programa que encontrasse o
valor de T(2000). Modelei o problema como caminho mínimo em um grafo
orientado, onde os vértices são os números e as arestas (a,b) ligam
vértices a e b se b=a-1 ou b=a*i, 2<=i<=7.
O número de movimentos para chegar ao número n será a distância do 1 até
o número.
Assim, encontrei que a solúção mínima é de cinco movimentos, que podem
ser:
1 -> 4 -> 16 -> 80 -> 400 -> 2000
Até mais
Vinicius Fortuna
Ciência da Computação - Unicamp
=========================================================================
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
O administrador desta lista é <nicolau@mat.puc-rio.br>
=========================================================================