¿Algoritmo de hacer un calendario de Liga asíncrono?

Buenas, estoy trastendo con programación y he conseguido realizar un calendario sincrono de Liga, emparejando a los equipos en jornadas de forma que ninguno juegue más de 2 veces en casa o fuera seguidas.

Bien, hacer eso de forma síncrona no me ofreció muchos problemas ya que vi algoritmos por la red para hacerlo.

La pregunta es... ¿Se puede hacer la segunda vuelta asíncrona de forma automática?
No consigo hacerlo sin que algún equipo juegue 3 veces en casa o fuera seguidas. :(

¿Alguna idea?
A que te refieres con asíncrona? A que no sean los mismos emparejamientos que en la primera vuelta invirtiendo local-visitante? Que siga otro orden distinto?

Hay webs que permiten planear ligas online metiendo los equipos y los parámetros de ajuste. Creo que así encontrarías una solución mas rápidamente, ahora si te lo quieres sacar por ti mismo peleándote con el código es otra cosa.. jej

Lenguaje?
Posible supuesto, pensado rápidamente; seguro que lo puedes optimizar.

10 equipos, jornadas formados por 5 partidos.
Puedes meter 5 equipos locales y los otros 5 equipos visitantes.
Jornada impar unos juegan en casa, jornada par juegan fuera, hacerlo de manera 'pseudo-aleatoria' y comprobar que el enfrentamiento no se ha disputado con anterioridad, si no volver a generar enfrentamientos para la jornada.
2 respuestas