freeCodeCamp/curriculum/challenges/spanish/08-coding-interview-prep/project-euler/problem-336-maximix-arrange...

2.3 KiB

id challengeType title videoUrl localeTitle
5900f4bd1000cf542c50ffcf 5 Problem 336: Maximix Arrangements Problema 336: Arreglos de Maximix

Description

Se utiliza un tren para transportar cuatro vagones en el pedido: ABCD. Sin embargo, a veces, cuando el tren llega para recoger los vagones, no están en el orden correcto. Para reorganizar los carros, todos se desvían hacia un gran plato giratorio giratorio. Una vez que los vagones se desacoplan en un punto específico, el tren se desplaza de la plataforma giratoria y tira de los vagones que todavía están unidos. Los carros restantes se giran 180 grados. Todos los carros se vuelven a unir y este proceso se repite tantas veces como sea necesario para obtener el menor número de usos de la plataforma giratoria. Algunas disposiciones, como ADCB, se pueden resolver fácilmente: los carros se separan entre A y D, y después de rotar DCB se ha logrado el orden correcto.

Sin embargo, Simple Simon, el conductor del tren, no es conocido por su eficiencia, por lo que siempre resuelve el problema colocando inicialmente el carro A en el lugar correcto, luego el carro B, y así sucesivamente.

Usando cuatro carros, los peores arreglos posibles para Simon, que llamaremos arreglos Maximix, son DACB y DBAC; Cada uno de ellos requirió cinco rotaciones (aunque, utilizando el enfoque más eficiente, podrían resolverse usando solo tres rotaciones). El proceso que utiliza para DACB se muestra a continuación.

Se puede verificar que hay 24 arreglos de maximix para seis carros, de los cuales el décimo arreglo leixográfico de maximix es DFAECB.

Encuentre el arreglo leixográfico de maximix 2011 para once carros.

Instructions

Tests

tests:
  - text: <code>euler336()</code> debe devolver CAGBIHEFJDK.
    testString: 'assert.strictEqual(euler336(), CAGBIHEFJDK, "<code>euler336()</code> should return CAGBIHEFJDK.");'

Challenge Seed

function euler336() {
  // Good luck!
  return true;
}

euler336();

Solution

// solution required