En ce dimanche de février, pas très ensoleillé en Alsace, je me lance sur la rédaction mon premier MPO. Soit la matrice de dimension Nx2 suivante :
Code : Tout sélectionner
[ 1 2 3 ... N ]
[ n1 n2 n3 ... nN ]
n1 = le nombre de nombres 1 sur l'ensemble de la matrice Nx2
n2 = le nombre de nombres 2 sur l'ensemble de la matrice Nx2
...
nN = le nombre de nombres N sur l'ensemble de la matrice Nx2
Avec la donnée N en entrée unique, votre programme doit permettre de trouver la solution (ou l'absence de solution) pour une matrice de dimension Nx2 quelconque, jusqu'à N=6 au minimum ; ou plus loin, si votre calculette le permet.
Par exemple, pour N=5, la solution est la suivante :
Code : Tout sélectionner
[ 1 2 3 4 5 ]
[ 3 2 3 1 1 ]
Dernière bricole : l'usage des tables pré-calculées est interdit ; sauf celles qui sont présentes dans la ROM des calculatrices. Par contre, pour optimiser le temps de calcul, on peut s'abstenir de re-calculer certaines valeurs triviales. Par exemple, nN semble toujours être égal à 1 dans les solutions. Avec des règles trop complexes, attention à ne pas faire exploser la taille du programme.
Vu le niveau observé dans les MPO précédents, je ne doute pas que vous allez trouver rapidement un algorithme très efficace, et réussir à l'implémenter de manière optimale sur vos pockets et calculatrices (ou ordinateurs anciens à la rigueur).
Bon courage
Pour d'autres énoncés de MPO, tous plus agaçants et passionnants les uns que les autres, consultez le sommaire des MPO.