QCM 2011 Sujet 4

Bah le contraintes je m'en fous je le fais en JavaScript. Non seulement je peux pas faire tester automatiquement mon code mais en plus, s'il l'était, ce serait tellement lent que je serais pas retenu :p
Heureusement que c'est corrigé par des humains.

Et puis je demande pas pour faire le code, j'ai déjà un truc qui marche. Je veux juste savoir si je suis lent / très lent / très très lent.

Artix, il arrive à avoir une complexité constante… il lit même pas les entrées. ;)
Y a eut assez de spoil comme ça de toute façon. Quoi, on a pas encore eut de « Est-ce que je peux utiliser la fonction levenshtein() de la lib std PHP ? » :p (elle était sympa celle là).

quelqu'un peut me dire où il faut appliquer le pinceau pour arriver à
0 1 1
1 1 1
1 1 0
apparemment ceci est "dessinable" et je ne vois pas comment ....

Tu n'as pas assez cherché si tu ne vois pas comment, il m'a fallu 5 minutes de tests pour vérifier à la main que c'est bien dessinable.
Je te conseille de faire ou trouver un programme qui te permet de simuler le pinceau (ne pas tout faire à la main quoi) si c'est pas déjà fait.
C'est atteignable en 7 coups de pinceau, je ne sais pas si il y a une solution avec moins de coups.

(ligne; col)
(2; 1)
(1; 2)
(1; 0)
(0; 2)
(0; 1)
(2; 0)
(1; 1)
édit : grillé. Je suis d'accord avec le post du dessus, sinon.

Si tu veux tester des trucs : http://www.xavierm02.net/prologin/ProloGIMP/
Tu mets en crosshair brush et en Reverse.

Ca marche sous Firefox, Chrome (et donc Safari) et Opera.
IE, je viens de tester et ça merde (je vais essayer de changer ça) et Konqueror, j'ai la flemme de passer sous Linux pour tester (et puis ils avaient qu'à reprendre un vrai moteur de rendu).

(Et non, je n'ai rien d'autre à foutre de ma vie que de coder ça)

Artix : tu casses tout le suspens :/
Du coup je suis obligé de tout raconter.
J'ai un algo qui tourne en temps linéaire, qui peut donner la matrice de sortie dans la très grande majorité des cas, et savoir si c'est soluble dans la quasi-totalité des cas (après avoir généré 2000 matrices 15x100 aléatoirement, 6 ne marchent pas ; pour 300x300, c'est 12/3000). D'ailleurs, je viens de le mettre sur le site et ça passe :)
En utilisant mon code uniquement, je mets 0.2 s pour une matrice 1000x1000 ; 19 s pour une matrice 9800x9800 ; 60 s pour 10000x10000.
Avec une bibliothèque, c'est 0.06 s par matrice 1000x1000 ; 0.55 s par matrice 3000x3000 ; 8 s pour 10000x10000.

Je dis linéaire mais à part la lecture de l'entrée, c'est un peu moins : O(n²sqrt(log log n/log n)+nm/log n) (je dis ça juste pour montrer que je n'ai rien de simple :( :( :( Ce qui ne veut pas dire que ça n'existe pas, évidemment).

« (Et non, je n'ai rien d'autre à foutre de ma vie que de coder ça) »
Et moi donc, ça fait une semaine que je code/débug/cherche comme un taré.
Mais bon, les problèmes où il faut réfléchir une semaine dessus, j'en ai pas souvent et ça m'amuse bien.

xavierm02, je dois te remercier pour ton truc en javascript, ça m'a gagné pas mal de temps pour finir mon algo (C'est toujours mieux que paint en zoom x8... \^\^).

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.