NewbieContest

Challenges => Aide Programmation => Discussion démarrée par: S0410N3 le 01 Juillet 2008 à 18:43:22



Titre: Prog - Taillez-moi un short
Posté par: S0410N3 le 01 Juillet 2008 à 18:43:22
Postez ici vos messages.


Titre: Re : Prog - Taillez-moi un short
Posté par: the lsd le 01 Juillet 2008 à 20:07:31
Mais pourquoi tu nous ponds des trucs aussi tordus !!!! :D

Enjoy

The lsd


Titre: Re : Prog - Taillez-moi un short
Posté par: S0410N3 le 01 Juillet 2008 à 23:44:33
(http://images.forum-auto.com/mesimages/79122/orangina-rouge.jpg)


Titre: Re : Prog - Taillez-moi un short
Posté par: Shakan le 01 Juillet 2008 à 23:59:05
Purée j'ai failli avoir une crise cardiaque !!!!
C'est pas sympa !!  :mad:


Titre: Re : Prog - Taillez-moi un short
Posté par: craven696 le 02 Juillet 2008 à 01:28:09
Merci S0410N3 pour cette superbe épreuve. Je me disais justement que ça manquait un peu les épreuves de prog sur nc. Mais bon c'est compréhensible, à coté d'une épreuve de cryptographie ou de stégano ça doit demander enormement plus de travail de pondre un truc comme ça. Par contre y a pas à dire la qualité elle est bien au rendez-vous. Bref Chapeau en tout cas, je me suis vraiment éclaté.
Qu'une chose à ajouter : Encore !!!!!!!  =D


Titre: Re : Prog - Taillez-moi un short
Posté par: S0410N3 le 02 Juillet 2008 à 23:42:46
Merci craven696.
Et bravo  ;)


Titre: Re : Re : Prog - Taillez-moi un short
Posté par: BiDOrD le 02 Juillet 2008 à 23:56:23
Qu'une chose à ajouter : Encore !!!!!!!  =D
+1 :P

Et au passage, même si je l'ai déjà dit, un grand merci S0410N3 pour cette épreuve de qualité et très fun !


Titre: Re : Prog - Taillez-moi un short
Posté par: kevinator le 03 Juillet 2008 à 13:43:48
Waou ! J'ai réussi !
Ben ben ben... S0410N3, je pense que ton épreuve est l'une des plus tordue de ce site !! Et tant mieux  :twisted:...

Merci  encore S0410N3  ;)

Kevinator


Titre: Re : Prog - Taillez-moi un short
Posté par: filc le 11 Juillet 2008 à 23:28:48
Aucune idée par ou commencer....
J'ia un algorithme qui marche, mais qui est très, très, très long.
C'est une fonction récursive qui cherche toutes les possibilités, et je prends que les plus courtes de celles trouvées. Mais bon, beaucoup trop long...
J'ai trouvé un algo sur le net aussi, mais qui donne que LE chemin le plus court (et encore, quand ca marche).

donc voila, pas d'idée, j'abandonne pour l'instant, bonne chance aux autres.


Titre: Re : Prog - Taillez-moi un short
Posté par: Luther le 13 Juillet 2008 à 11:59:04
Bof il aurait pu faire encore plus dur en mettant des obstacles ou autres, j'ai pas encore réussi mais j'y travaille activement là :D


Titre: Re : Prog - Taillez-moi un short
Posté par: Chilly le 14 Juillet 2008 à 00:36:52
ben il a mis des murs.. si ça c'est pas de l'obstacle..


Titre: Prog - Taillez-moi un short
Posté par: Teton le 19 Juillet 2008 à 18:40:59
oh mon dieu mais mon petit PC portable ne pourra jamais encaisser tous ces calculs en 2sec !!
vous pouvez me dire avec quelle puissance de calcul vous avez réussi cette épreuve ?
avant que je ne me lance dans l'impossible . ( matériellement parlant )


Titre: Re : Prog - Taillez-moi un short
Posté par: S0410N3 le 19 Juillet 2008 à 19:20:39
Sur mon athlon xp 1900+ (vieille machine donc) au total ça met environ 600ms (avec les temps de récupération de l'image et d'envoi de la solution).
Sinon la résolution pure prend environ 40ms (lecture d'une image en locale + résolution).

Ce n'est pas une histoire de puissance de calcul mais d'algorithmique :)

Edit : J'ai oublié de dire que mon script est en PHP. Il y a donc moyen de faire largement mieux.
Edit2 : Je crois qu'il faut aussi ajouter que dans les 600ms il y a aussi le temps de génération d'un maze aléatoire par mon script en ligne ce qui prend environ 300ms. Ca fait donc plus vers les 300ms au total  parce que le timer ne commence qu'après cette génération. Finalement j'aurais pu limiter à 1 seconde :)


Titre: Re : Prog - Taillez-moi un short
Posté par: Teton le 27 Juillet 2008 à 12:40:18
mmmm petite question qui me turlupine.
dans l'exemple , il y a beaucoup plus de solution que les 5 données
( par exemple RDDRRUUULUURRDRRRRURUR et RDDRRUURRDDRRUUUUURURUR ...)

on remarque que les solutions données sont toutes du même nombre de déplacements .
et qu'elles sont aussi les plus directes , mes 2 exemples passent par la frontière ouzbek  :D

d'où les petits problèmes :
                 doit on croire l'énoncé ou l'exemple  ?
                 comment déterminer si un chemin doit être pris en compte  ?


Titre: Re : Prog - Taillez-moi un short
Posté par: S0410N3 le 27 Juillet 2008 à 17:04:41
La réponse à tes interrogations se trouve dans l'énoncé...

"Votre mission est de trouver le plus court chemin entre le carré bleu et le carré rouge"


Titre: Re : Prog - Taillez-moi un short
Posté par: Teton le 27 Juillet 2008 à 17:12:46
oups pardon  :wink:

Modération : Bah, c'est marqué nulle part qu'il faut lire l'énoncé, non ?
La prochaine fois, la sanction tombera : privation de NC pendant une semaine. Nan mé.


Titre: Re : Prog - Taillez-moi un short
Posté par: zessx le 29 Juillet 2008 à 01:52:19
Simple réflexion...
J'ai comme l'impression que Soso a eu la flemme de coder un algo qui génère un "vrai" labyrinthe,
du coup c'est nous -et pas lui- qui devons nous taper les chemins à trouver  =D
...


...mais en même temps...

...c'est 10x mieux \ô/  :D


Titre: Re : Prog - Taillez-moi un short
Posté par: BiDOrD le 29 Août 2008 à 10:37:49
Pour un "vrai" labyrinthe, il y en a déjà un sur rankk (http://www.rankk.org/).


Titre: Re : Re : Prog - Taillez-moi un short
Posté par: S0410N3 le 29 Août 2008 à 11:01:46
Simple réflexion...
J'ai comme l'impression que Soso a eu la flemme de coder un algo qui génère un "vrai" labyrinthe,
du coup c'est nous -et pas lui- qui devons nous taper les chemins à trouver  =D

Bah j'ai du me taper la résolution aussi.
Sinon le script ne pourrait pas tester le résultat attendu. =)


Titre: Re : Prog - Taillez-moi un short
Posté par: zessx le 29 Août 2008 à 13:04:50
Oups  =D
J'avais oublié ce, hum, comment dire... petit détail ?  :lol:


Titre: Prog - Taillez-moi un short
Posté par: pricky le 22 Avril 2009 à 16:21:55
Bonjour à tous,

Voilà je viens de tomber sur l'épreuve et je vais gentillement la résoudre (faut juste du temps).
Une petit question ou puis-je trouver des infos concernant la manipulation des images PNG avec n'importe quel langage de prog ?
Enfin n'importe... S'il y en a un qui me donne qqch en assembleur ça va mal se passer !  :wink: Python, Java, PHP,... par exemple.
Pour l'algo c'est tout bon pour moi. En tout cas sur le papier... Je me suis rappelé d'une méthode de calcul pour le chemin le plus court entre deux points donners qui n'est pas sans rapports avec les jeux-vidéos.

Enfin bref, je veux juste voir un tuto ou savoir quelles librairies utiliser.

Bon challenges à tous et merci


Titre: Re : Prog - Taillez-moi un short
Posté par: Iansus le 22 Avril 2009 à 17:18:04
http://fr.php.net/gd (http://fr.php.net/gd)


Titre: Re : Prog - Taillez-moi un short
Posté par: Asphator le 27 Septembre 2009 à 17:33:49
Bonjour à tous,

Voilà, j'ai un script qui fonctionne, mais uniquement sur les petits labyrinthes :( dés qu'ils sont gros, j'obtiens une erreur de mémoire (Allowed memory size of 8388608 bytes exhausted)... Cela vient très certainement des tableaux que j'utilise.

Quelqu'un aurait-il un conseil pour que je puisse optimiser ça?


Titre: Re : Prog - Taillez-moi un short
Posté par: awe le 27 Septembre 2009 à 17:49:52
Euh...
Tu utilises des pointeurs?
Si c'est le cas ça pourrait venir d'une erreur dans la libération de tes pointeurs.
'fin ca c'est surtout si t'es un vilain qui enlève les pointeurs de ses listes sans les libérer en mémoire  =)
Après pour que ta mémoire se remplisse autant, ça signifierait que ton prog bloque quelque part et qu'il part en boucle infinie.

Bref, ce ne sont que des suppositions  =D

GooD LucK


Titre: Re : Prog - Taillez-moi un short
Posté par: Asphator le 27 Septembre 2009 à 18:12:36
Je ne gère pas les pointeurs, je code en PHP.
Je suis quasiment certain que mon problème vient de tableaux trop volumineux. 'fin, si tu veux jeter un oeil, j'ai ptèt zappé un truc...
Sinon, pour les erreurs, je n'ai ni notices, ni warning, ni error (mise à part celle ci-dessus), et sur de petits labyrinthes, je n'ai pas de soucis...


Titre: Re : Prog - Taillez-moi un short
Posté par: awe le 27 Septembre 2009 à 18:18:35
Vi les pointeurs en PHP...  =D

Si c'est des tableaux que vient le problème, tu peux toujours faire un/des print_r($tab); et écrire le résultat dans un fichier pour visualiser ce qui se passe avant ton erreur.

Sinon, je n'ai pas encore commencée cette épreuve, donc je ne vais pas jeter un oeil à ton code  :wink:


Titre: Re : Prog - Taillez-moi un short
Posté par: Iansus le 27 Septembre 2009 à 18:46:57
C'est un problème de taille de tableau.
Essaies (à tes risques et périls), au début du code : ini_set("memory_limit","1024M");


Titre: Re : Prog - Taillez-moi un short
Posté par: Asphator le 27 Septembre 2009 à 19:08:51
Ce que je voulais dire, c'est que si j'en arrive à avoir une telle erreur, c'est que dans mon algo, je n'ai pas pris en compte la mémoire utilisée.

J'aurais voulu des conseils pour éviter de tirer sur la mémoire (par exemple, je sais qu'il vaut mieux 10 petits tableaux d'une profondeur de 2 qu'un seul gros tableau d'une profondeur de 10, ou encore stocker un count dans une variable plutôt que de l'utiliser directement dans un for tel que : for($i=0; $i<count(qqch...).

M'enfin, vient de me rendre compte que je stockais jusqu'au bout les mauvaises solutions. Vais voir ce que ça donne si je les vire...



Merci pour votre aide ;)


Titre: Re : Prog - Taillez-moi un short
Posté par: theo92 le 06 Octobre 2009 à 16:09:42
Mon script marche très bien...
... en 20 secondes.

Je ne sais pas trop quoi faire.


Titre: Re : Re : Prog - Taillez-moi un short
Posté par: eldergob le 07 Octobre 2009 à 08:26:04
Mon script marche très bien...
... en 20 secondes.
Tu précises pas le langage mais si tu parles de script je suppose que tu utilises un langage interprété comme PHP.
Si c'est le cas, çà va pas le faire. Tu vas devoir utiliser un langage compilé comme le C ou le C++.


Titre: Re : Prog - Taillez-moi un short
Posté par: WiebeN le 07 Octobre 2009 à 08:50:33
20 secondes ça doit quand même pas être très optimisé comme algo! Cette épreuve peut tout à fait être validée via des langages interprétés (d'ailleurs la plupart des codes donnés en afterwards sont en php ou python si mes souvenirs sont bons!)


Titre: Re : Prog - Taillez-moi un short
Posté par: chaise le 08 Octobre 2009 à 10:21:07
Je confirme que c'est réalisable en PHP. Je viens de relancer mon programme plusieurs fois. ( de 0.5 seconde à 1.2 suivant le nombre de possibilités). Il faut trouver le bon algorithme (voir google)


Titre: Re : Prog - Taillez-moi un short
Posté par: S0410N3 le 08 Octobre 2009 à 19:44:25
Évidemment que c'est réalisable en php.
L'épreuve est codée en php et en plus de trouver la solution (tout comme vous) le script génère aussi le labyrinthe avant :)


Titre: Re : Prog - Taillez-moi un short
Posté par: theo92 le 09 Octobre 2009 à 16:02:02
Je ne vois pas comment optimiser l'algo, je vais encore y réfléchir.
Couper l'image pour ne garder que la zone "interessante" semble assez hasardeux...
J'étais content quand j'ai vu que mon script marchais bien avec l'exemple du petit labyrinthe, et là je me trouve face à une autre sorte de problème.  =)

A votre avis, un script exécuté en 20 secondes en php peut être exécuté en deux secondes en C ?
Le problème est que je ne connais pas du tout ce langage, je ne veux pas "traduire" le script pour rien.

Merci.

Edit : 9 secondes. je suis sur la bonne voie :)

Voilà, c'est validé, en php. super épreuve !


Titre: Re : Prog - Taillez-moi un short
Posté par: loic71 le 15 Décembre 2009 à 01:38:48
Ouais chouette épreuve, c'est sûr!
Super intéressante en tout cas...

...

Ahhh j'me prend la tête avec des noeuds et des routes  :O



Titre: Re : Prog - Taillez-moi un short
Posté par: kony le 04 Février 2010 à 22:07:32
aaarrrrgghhhh me prends bien la tête celle-la ^^

ya pas moyen de faire des mazes plus petite ou juste devoir trouver un seul chemin  :lol:

J'ai des algos qui trouve un chemin, voir tout les chemins mais bon c'est bien trop long,
 j'ai fait une version qui doit trouver tout les plus court mais pareil beaucoup trop long.

Du coup je suis un peu perdu, est-ce que vous employer un arbre ? une fonction récursive uniquement avec des listes ?
Calculer tout les chemins puis trier les plus court c'est jouable  ? sinon comment être sur de pas louper un plus court ? ^^
Beaucoup de question, si quelqu'un pouvait m'aiguiller un peu parce que la je patauge.
J'ai essayer beaucoup de chose qui fonctionne bien mais beaucoup trop long.

Sinon je vais louer un cray ou faire un cluster de ps3 :shock:

Bon je retourne perdre quelques cheveux



Titre: Re : Prog - Taillez-moi un short
Posté par: theantoine le 08 Avril 2010 à 01:40:18
Bonjour,
 
 J'ai réussi à obtenir un programme me calculant les plus courts chemins, concaténant les résultats et calculant le sha1 et ce dans un temps de moins d'une seconde. Cependant, lorsque je le teste sur l'exemple j'obtiens le résultat attendu, mais sur l'épreuve c'est un échec. Quelqu'un pourrait il me fournir une ou plusieurs images / chemins / sha1 qui valident pour m'aider à débugger mon programme?

Merci d'avance!


Titre: Re : Prog - Taillez-moi un short
Posté par: oxame le 19 Novembre 2011 à 09:45:19
Bonjour,
Je voudrais savoir si la chaine sha1 donnée en exemple et la chaine que l'on doit trouvez pour la réponse trouvez, car j'arrive a trouvé les 5 réponses de l'exemple mais j’obtiens une chaine sha1 différente. :cry:
merci d'avance  

edit : laissé tombé je suis un crétin je ne les concaténais pas toute  :oops:

edit : je trouve la bonne solution pour l'exemple avec la bonne chaine sha1 , j'arrive a être dans les temps 4/10 mais je trouve jamais la bonne réponse , si quelqu’un a un conseil je suis preneur    
edit: je sais bien que m'a demande a peux de chance d'aboutir mais serais t'il possible d'avoir un second exemple avec les réponses mais avec une taille plus conséquente min 20X20


Titre: Re : Prog - Taillez-moi un short
Posté par: S0410N3 le 23 Novembre 2011 à 01:15:28
Si tu valides l'exemple il n'y a pas de raison que tu ne valides pas l'épreuve, sauf algo pas adapté...


Titre: Re : Prog - Taillez-moi un short
Posté par: cyrbil le 04 Décembre 2011 à 12:32:01
Hello,
Je suis revenu sur cette épreuve qui me résiste et là j'ai un problème.
J'ai mon super algo qui trouve bien toutes les solutions, cependant je ne valide pas, donc mon super algo n'est pas si super.

Problème c'est que sur tout les tests que j'ai fais je ne trouve pas d'erreurs, (sur l'exemple j'ai le bon sha1, et "à la main" je trouve bien les même uniques solution).
Donc je viens quémander un peu de bon coeur, je souhaiterais avoir le sha1 (et le nombre de solutions si ce n'est pas abuser) d'une des images générée par l’épreuve afin de pouvoir vérifier et corriger mon problème.

Comme la 218 c'est une épreuve intéressante qui me résiste depuis des mois (pas en continu bien sur ...).
Et je suis vraiment ennuyé de bloquer aussi près du but.

Merci à vous.
Cyrbil


Titre: Re : Prog - Taillez-moi un short
Posté par: Lascazas le 04 Décembre 2011 à 14:07:52
Je t'ai envoyé le résultat pour un cas par MP pour que tu puisses vérifier.

Bonne chance


Titre: Re : Prog - Taillez-moi un short
Posté par: cyrbil le 04 Décembre 2011 à 14:16:46
Merci beaucoup ...
Alors là j'ai un problème parce que je trouve l'exact même hash et nombre de solutions  :?


Edit: Épreuve validé, avec wireshark j'ai vu qu'un lettre ce glissait dans mon hash  :)


Titre: Re : Prog - Taillez-moi un short
Posté par: S0410N3 le 14 Janvier 2012 à 01:31:40
L'enfer du développeur quoi :)

Gratz cela dit.