Skip to content

smknstd/criteo-codeofduty2011

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Criteo Code of Duty 2011

Enoncé du problème disponible à cette adresse.

J'ai écrit ce programme juste pour le fun !!? Java etait le langage proposé dont je maitrise le mieux les structures de données.

Remarques

  1. **Ma classe Liste a tous ses attributs public :( #iknowitsbad

  2. **L'énoncé n'est pas 100% explicite sur la règle de propagation d'un poid lors d'une étape. Selon un des exemples données, il faut comprendre qu'un poids ne peut être transmis qu'une fois par étape. Dans mon algorithme de parcours de gauche à droite, lorsque je transmets un poids à droite vers une case qui était vide, alors cette case ne peut plus transmettre ce poids à son tour lors de la même étape.

Comprenez que ceci n'est pas possible:

0 : (10, 0, 0, 0, 0)
1 : (9, 0, 0, 0, 1)
2 : (8, 0, 0, 0, 2)
3 : (7, 0, 0, 1, 2)
4 : (6, 0, 0, 2, 2)

mais qu'on est obligé de faire:

0 : (10, 0, 0, 0, 0)
1 : (9, 1, 0, 0, 0)
2 : (8, 1, 1, 0, 0)
3 : (7, 1, 1, 1, 0)
4 : (6, 1, 1, 1, 1)

Pour résoudre ce problème, lors de mon parcours du tableau, j'ai du sauver l'état du tableau à l'étape précédente. Je n'avais jamais effectué cette opération jusqu'a maintenant. Apparemment il existe plusieurs moyens de le faire. J'ai choisi:

int[] step = Arrays.copyOf(previousStep, l.size);

Ressources

  1. **Cette gem permettant de compiler java dans un Rakefile

About

Ma solution au concours de programmation "Criteo" de 2011

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors