Désolé pour le retard : travail à la bourre, rentrée, intégration et toussa
![]()
Cathédrale de Strasbourg par Pierre -M-
Petit carnet de route :
- Départ Vendredi dernier vers 17H avec sortie à l’arrache du boulot (entre visite des turbines et séance de « au-revoir » avec tous les gens du bâtiment).
- Arrivé deux heures plus tard à Strasbourg avec un gentil monsieur nous montre une place de parking (2€ l’heure, sic).
- L’hôtel est juste à côté de la cathédrale de Strasbourg (photos précédente), ça fait un réveil-matin sympa.
- Fait trop chaud dans cette chambre : peu d’heure de sommeil.
- Je me met en branle le lendemain à 8h pour retrouver Katen devant la cathédrale (le seul point de repère viable dans Strasbourg).
- Discutaille et attente devant le bâtiment de l’EPITA/ISEG.
- Les orgas arrivent les bras chargés du petit-déjeuner.
- On nous emmène via des chemins tortueux jusqu’à la salle d’exam (ce qui se révélera problématique plus tard, cf la fin).
- Là c’est le drame, pas de café fourni avec le petit déjeuner.
- L’épreuve papier commence (sujet dispo ici), bizarrement la combinaison « Marchand » et « Ricard » me fait penser à Dise, un copain aveyronnais (qui s’appelle Marchand et qui aime le Ricard, forcément). Sujet qui semble simple de prime abord mais je me rend compte qu’il y’a une sacré difficulté sous-jacente dans les dernières questions, je sais pas si les orgas ont fait exprès ou pas (problème d’optimisation locale ou globale avec les taux de change).
- Entretien très sympa avec un des orgas où on parle de sujet divers et varié.
- Retour à la salle pour voir que les tables ont été réarranger pour manger. Une bonne flammekueche (tarte flambée) au chèvre plus tard on est d’attaque pour l’épreuve machine.
- On s’installe devant les machines, Katen, Dark-Side et moi sommes sur la même rangée (lire : je suis acculé à la fenêtre par des OCamleux).
- Là c’est le drame² (j’irais même jusqu’à dire, « l’échec critique ») : l’interface web du centre n’autorise pas C# à contrario du site d’entraînement en ligne. Grosse panique de mon côté et franche rigolade de mes deux partenaires sdz-iens. Finalement après m’être empêtré avec Java je me tourne vers C++. Jamais l’épreuve du 42 n’aura été aussi longue (le programme du 42 consiste à faire un bête Console.WriteLine(42);).
- L’épreuve se déroule pas mal, j’arrive plus ou moins à me dépatouiller avec les structures de donnée de la STL. Arrive l’exo du pathfinding et mon incompréhension de la technique de memoization qui y est attaché (le bruteforce récursif est passé sans problème par contre, merci Scheme). Katen, qui avait retenu le truc par coeur en OCaml, me rattrape (salaud
). Finalement l’orga nous explique la chose en code. Je le met ici d’ailleurs car, même si c’est du C++ de moche, l’algo en lui même est fort sympathique :
#include #include #include using namespace std; int cache[101][101]; int pathfinder(int size, int **tab, int x, int y); int wrap(int size, int **tab, int x, int y) { if (cache[x][y] != -1) return cache[x][y]; else return cache[x][y] = pathfinder(size, tab, x, y); } int pathfinder(int size, int **tab, int x, int y) { int ret1 = 0, ret2 = 0; if (x == size || y == size) return 0; ret1 = wrap(size, tab, x + 1, y); ret2 = wrap(size, tab, x, y + 1); if (ret1 > ret2) return ret1 + tab[x][y]; else return ret2 + tab[x][y]; } int main(void){ int size; int i; int j; int **tab; int result; scanf("%i", &size); tab = (int**)malloc(size * sizeof(int *)); for (i = 0; i < size; ++i) { tab[i] = (int*)malloc(size * sizeof(int)); for (j = 0; j < size; ++j) scanf("%i", &tab[i][j]); } memset(cache, -1, 101 * 101 * sizeof(int)); result = pathfinder(size, tab, 0, 0); printf("%in", result); for (i = 0; i < size; ++i) free(tab[i]); free(tab); return (0); } - Butoir de tout le monde sur l’exo de Gégé la grenouille (à peu près le même principe que le pathfinder précédent mais avec des conditions spéciales chelous comme les cases magiques). On en profite pour aller faire un casse dalle avec ce que les gentils orgas ont préparé. Katen en profite pour draguer NellA (mouarf).
- Fin de l’épreuve, je finis 12ème avec 435 points, ce qui est pas mal AMHA sachant que les compilations foireuses retiraient des points et que je n’avais pas de g++ en local sous la main au début.
- Avec des « au-revoirs » aux orgas, Katen, Dark-Side et moi nous mettons en branle. Après moults insuccès dans la recherche de la sortie on remonte voir les orgas qui en profite pour nous distribuer les cadeaux qu’ils avaient oublié de déballer (un beau poster et des exemplaires de Linux Magazine dont le 100ème numéro avec un CD tout plein d’article des anciennes parutions, yay !).
- Après avoir encore galéré pour trouver la sortie (la grande grille par laquelle on est passé le matin avait été cadenassé) on se retrouve finalement à l’air libre. De nouveau des « au-revoir » tout le monde et on entame le voyage de retour à la maison.
En résumé : une journée fort sympathique. Merci aux orgas pour le travail fourni. Les résultats devraient arriver courant Mars.
Comments 3
Hello,
could you please explain me how to embed code in a wordpress post like you did here?
thanks
alfredo
Posted 07 avr 2008 at 14 h 28 min ¶It’s described here : http://faq.wordpress.com/2007/09/03/how-do-i-post-source-code/
Have fun.
Posted 07 avr 2008 at 16 h 59 min ¶Merci bien,
alfredo
Posted 07 avr 2008 at 17 h 58 min ¶Post a Comment