Pregunta

Voy a completar mi aprendizaje como codificador y obtuve un buen proyecto J2ME para trabajar, pero tengo que admitir que no soy tan bueno con los algoritmos matemáticos como me gustaría ser.

Mi problema es crear todos los "pares de dominó" posibles a partir de un conjunto dado de valores. Por ejemplo: los valores posibles van de 0 a 6. Ahora imagine algunos tokens de dominó con esos valores. La salida debería ser algo como esto:

00
01
02
03
04
05
06
11
12
13
...

Cada par solo aparece una sola vez, pero los pares con dos valores iguales son posibles.

Ya busqué este problema, pero o no encontré una solución para este problema en particular o realmente no entendí cómo funcionan los algoritmos.

Realmente apreciaría cualquier explicación y algoritmo. Siéntase libre de publicar soluciones alternativas también. Preferiría no solo tener una solución, sino también entenderla;)

¿Fue útil?

Solución

Pseudo Código:

for i from 0 to n inclusive
   for j from i to n inclusive
       output i,j

El punto importante es que el segundo bucle no comienza desde cero. Esto significa que no tenemos que probar si ya se ha utilizado un dominó. Sabemos que todos los dominios producidos usando este algoritmo son únicos debido a la forma en que se construye el algoritmo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top