Hay una competencia de lucha libre con 4 concursantes. Cuando se emparejan 2 concursantes, el más fuerte siempre gana, no hay empates. Utilizando la combinación de clasificación, ¿cuántos partidos se necesitan para clasificar a los competidores de más débil a más fuerte?

Enlace al código fuente: Ideone.com

O

El código fuente en sí en C:

#include
/ * No uso de estas bibliotecas en este programa particular * /
#include
#include // para cálculos matemáticos avanzados

int arr [4], temp [4], cuenta = 0; // matriz en la que se almacenará la fuerza

/ * fusionar la función de clasificación con recursión * /
fusión nula (int bajo, int medio, int alto)
{
int h = bajo, i = bajo, j = medio + 1, k;
while ((h <= mid) && (j <= high))
{
/ * valores de adaptación matriz ‘arr’ en matriz ‘temp’ en un orden * /
if (arr [h] <= arr [j])
{
temp [i] = arr [h];
h ++;
recuento ++;
}
más
{
temp [i] = arr [j];
j ++;
}

i ++; // Incrementando la posición en la matriz
}

/ * Copiar los elementos restantes de ‘arr’ en la matriz ‘temp’ * /
si (h> mediados)
{
para (k = j; k <= medio; k ++)
{
temp [i] = arr [k];
i ++;
}
}
más
{
para (k = h; k <= medio; k ++)
{
recuento ++;
temp [i] = arr [k];
i ++;
}
}

para (k = bajo; k <= alto; k ++)
{
arr [k] = temp [k];
}

}

void merge_sort (int bajo, int alto)
{
int mid;
si (bajo <alto)
{
medio = (bajo + alto) / 2;
merge_sort (bajo, medio);
merge_sort (mid + 1, high);
fusionar (bajo, medio, alto);
}
}

int main (int argc, char const * argv [])
{
int n, i;

printf (“Ingrese la fuerza de 4 personas: \ n”);

para (i = 0; i <4; ++ i)
{
scanf (“% d”, & arr [i]);
}

merge_sort (0,3);

printf (“El número total de coincidencias es:% d \ n”, cuenta);

devuelve 0;
}

D- 4 o 5

Deje que el primer partido sea A con B y C con D. Suponga que A y C ganan los partidos. Entonces A lucha contra C. Supongamos que A gana. Luego, deje que el partido sea entre B y D. Si D gana, entonces el orden en términos de fuerza decreciente será A, C, D, B (4 partidos). Si B gana el último partido, C lucha con B. Si B gana el partido, el orden será A, B, C, D (5 partidos).

4 partidos