elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Permutaciones para campeonatos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Permutaciones para campeonatos.  (Leído 981 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.651


Hackentifiko!


Ver Perfil
Permutaciones para campeonatos.
« en: 19 Octubre 2025, 14:07 pm »

Quizá no se llama así, pero supongan que hay estos 3 equipos:
Speed
Missile
Double

La forma más fácil de permutarlos es:
Speed   Missile
Speed   Double
Missile   Speed
Missile   Double
Double   Speed
Double   Missile

Con Python una IA lo hizo así:
Código
  1. # -*- coding: ANSI -*-
  2. elementos = ["Speed", "Missile", "Double"]
  3.  
  4. with open("permutaciones.txt", "w", encoding="utf-8") as txt:
  5.    for a in elementos:
  6.        for b in elementos:
  7.            if a != b:  # Esto evita pares con el mismo elemento
  8.                txt.write(a + "\t" + b + "\n")

Pero si fueran muchos equipos está bastante raro, un equipo jugaría muchos partidos seguidos de locatario, otros descansarían más, la gente se aburriría de que durante un tiempo siempre juegue el mismo, y casi nunca otro que le interese.

Un orden mejor sería así:
Speed   Missile
Double   Speed
Missile   Double
Missile Speed
Speed   Double
Double   Missile

La pregunta sería cómo se logra que el programa los genere en un orden así.

Además quisiera que la dirección sea distinta, o sea:
Partido1   Partido2   Partido3   etc
Equipo1      Equipo1      Equipo1      etc
Equipo2      Equipo2      Equipo2      etc
o sea:
Speed      Double      etc
Missile      Speed      etc

Separados por un tab.


En línea

Tachikomaia


Desconectado Desconectado

Mensajes: 1.651


Hackentifiko!


Ver Perfil
Re: Permutaciones para campeonatos.
« Respuesta #1 en: 24 Octubre 2025, 15:11 pm »

Se lo pedí a la IA y me resultó muy complicado.

Busqué soluciones y llegué a la conclusión de que es bastante simple hacerlo manualmente.

El método es dejar fijo al equipo 1 y los demás irlos rotando en el sentido del reloj. Ojo con eso porque yo pensé como "what? pruebo rotarlos normal a ver qué sale" y no me salió.

Ejemplo:
1 - 2
3 - 4
5 - 6

Rotar en el sentido del reloj es que los de arriba van a la derecha (aunque el 1 dijimos que no se mueve), los de abajo van a la izquierda, los de la derecha para abajo y los de la izquierda para arriba:
1 - 3
5 - 2
6 - 4

Así se forman fechas.

La 1er fecha formada puede ser la 1era en aplicarse.

Luego lo recomendable es elegir una fecha en que los equipos estén en su posición contraria, invirtiendo la posición del 1 y su rival o compañero.

Eso hará que la lista de fechas quede dividida en 2.

Luego se va eligiendo 1 de cada lista en el orden que ya quedó.

No he confirmado que siempre funcione el tema del buen orden, pero pareció...


Así que este tema lo podrían cerrar.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda] permutaciones .net
.NET (C#, VB.NET, ASP)
oscarj24 3 5,105 Último mensaje 29 Abril 2011, 22:54 pm
por oscarj24
Problema con formula para generar permutaciones
Programación C/C++
Blaster 9 9,550 Último mensaje 2 Enero 2014, 19:01 pm
por do-while
Permutaciones en C++
Programación C/C++
#Aitor 4 26,105 Último mensaje 27 Mayo 2015, 08:18 am
por ginoob
Diccionarios de permutaciones?
Hacking Wireless
gado2612 1 3,995 Último mensaje 9 Abril 2016, 14:19 pm
por tincopasan
Programa en C de permutaciones
Programación C/C++
JuanJose97ortiz 2 6,104 Último mensaje 29 Junio 2019, 15:55 pm
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines