Alguém daria um help http://acm.uva.es/p/v8/846.html…
Não consigo entender o algoritmo…ou o calculo…
Se alguém ja tiver resolvido…
Passo ajuda!
4 Respostas
Primeira entrada:
45 48
o intuito do problema é vc ir de 45 a 48 com a menor quantidade de passos, sendo que o primeiro e o último passo precisa ser 1. O próximo passo pode ser 1 maior, 1 menor, ou igual ao anterior.
45, dá o primeiro passo que tem que ser 1, fica 46
46, o próximo passo pode ser 1 ou 2, mas se vc der um passo de 2, vai chegar no 48, mas lembre-se que o último passo precisa ser 1, então vc só pode andar 1, dai fica 47
47, mais 1, 48
Total de passos: 3
a outra entrada: 45 49
45, primeiro passo precisa ser 1, dai fica 46
46, o próximo passo pode ser 1 ou 2. Nesse caso escolheremos 2, assim chegaremos mais rápido, dai fica 48
48, aqui o passo pode ser 1,2,3, como o último passo precisa ser 1, vc escolhe 1, e chega a 49
Total de passos: 3
Conseguiu pegar o espírito da coisa ou nem?
AAAAAAHHHH…então eu entendi certo…
Eh que eu via a saida 3 e viajava, não entendi que era o número de passo…pensei que era o valor…
Mas vem ca, então sempre serão 3 passos??? O incremento do próximo passo tem que ser obrigatóriamente 1 ?
Blz cara…valew
AAAAAAHHHH…então eu entendi certo…Eh que eu via a saida 3 e viajava, não entendi que era o número de passo…pensei que era o valor…
Mas vem ca, então sempre serão 3 passos??? O incremento do próximo passo tem que ser obrigatóriamente 1 ?
Blz cara…valew
Não, não será sempre que serão 3 passos não!
Exato, o próximo passo pode ser 1 maior que o anterior, 1 menor que o anterior ou igual ao anterior.
de 45 a 50 por exemplo fica
45 + 1 = 46
46 + 2 = 48
*aqui o valor poderia ir para 3(1 maior que o anterior 2), pra 1(um menor que o anterior 2), ou ficar 2 mesmo. Se for 3 passa de 50, se for 2 chega a 50 certinho, porem o último passo precisa ser 1, então nesse caso você precisa escolher o passo de tamanho 1
48 + 1 = 49
49 + 1 = 50
Aqui foram 4 passos.
Eu jah resolvi esse problema uma vez, não vou colocar a solução aqui porque não quero estragar a sua diversão…hehehe…mas se você quiser eu posso mandar. Mas vale a pena tentar…é legal! 
Puts cara…
manda a resposta ae…ja me quebrei aqui e não consegui chegar…rs…
O mais perto que cheguei foi isso
int passo = 1;
int conta_passos=0;
private void passos(int valor1, int valor2)
{
while ((valor1 + passo) <= valor2)
{
if ((valor1 + passo) == valor2 && (valor1 + passo + 1 == valor2))
{
valor1=valor2;
conta_passos = 3;
}
else
{
if (valor1 + passo + 2 == valor2)
{
passo++;
conta_passos++;
}
else
{
passo=passo+2;
conta_passos++;
}
}
}
Console.WriteLine(conta_passos+1);
}
mande ae…cansei ja…rs
E vAlEw