yopyop2003
Messages postés2Date d'inscriptionvendredi 17 janvier 2003StatutMembreDernière intervention 1 octobre 2005
-
1 oct. 2005 à 14:52
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008
-
5 oct. 2005 à 01:44
Bonjour,
Je souhaiterais calculer dans un tableau 2D, le nombre de minimal case
separant 2 points, sachant que les deplacements horizontal, vertical et
en diagonal sont possible.
Je m'explique, supposon que j'ai un point en [1;1] et un point en
[1;3], l'algorithme de calcul devra me renvoyer 2, car c'est le nombre
de case qui sépare les 2 points.
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008 2 oct. 2005 à 05:39
function RBizarre(x,y,dx,dy:Integer):Integer;
var
a,b:Integer;
begin
if x>dx then a:=x-dx else a:=dx-x;
if y>dy then b:=y-dy else b:=dy-y;
result:=a+b;
sokoban
Messages postés32Date d'inscriptionmardi 4 novembre 2003StatutMembreDernière intervention 4 novembre 2006 4 oct. 2005 à 22:49
Bonjour,
Si tu vas de (A,B) en (C,D) avec les mouvements possibles dans les 8 directions et qu'il n'y a pas d'obstacles, le nombre de cases et donc de déplacements du plus court chemin seras toujours égal à :
Max(Abs(C-A), Abs(D-B))
Voilà ce que je peux dire par expérimentation même si mon niveau en math est trop faible pour le prouver par une démonstration digne de ce nom !! LOL !!