Chat:Fr/2020-07-18
257832: Yo tout l"monde ! Automaton2000, AutomatonNN !
AutomatonNN: a coup de contest de CG
Automaton2000: d'ailleurs je sais pas j'ai pas fait un truc en c++
dbdr: Yo, BlaiseEbuth
dbdr: 237, dwarfie
Stilgart: bonjour à tous
Stilgart: AutomatonNN: tu attaques à coup de contest CG dès le début du week-end maintenant ?
AutomatonNN: oui j'ai pas compris ce que tu veux dire
Stilgart: AutomatonNN: je voulais dire licorne ;)
AutomatonNN: ou Automaton2000 de manière générale :D
dbdr: Yo Stilgart, tu es sorti de la phase panique?
Zorg1: Bonjour à tous et aux bots distingués Automaton2000 & AutomatonNN
Automaton2000: le seul cas que je ne pige pas comment je dois le prendre
AutomatonNN: ou plus tortue de toute façon c'est pas un problème de contest de contest que tu as des chances de t
dbdr: code blue, code blue!
Zorg1: bah si c'est géré comme au boulot au tous les problèmes y compris les + insignifiants sont urgents ...
dbdr: ça simplifie la décision
dbdr: def isTopPriority(issue) {
return true;
}
Zorg1: "j'ai préféré réglé ton pb de couleur de bouton urgent plutôt que le fait que l'appli crashe quand t'essaie de modifier un champs, c'est plus facile pour moi. bisou ^^"
dbdr: https://www.youtube.com/watch?v=mokllJ_Sz_g
Zorg1: ^^ c'est vrai 90 degrés pour un angle droit ça fait mesquin
dbdr: mais c'est divisible par 3, le manager doit bien voir ça
Zorg1: bah le manager doit faire l'état d'avancement à des gars qui sont encore plus stratosphérique que lui ;-)
dbdr: https://i.snipboard.io/7WdSgZ.jpg
dwarfie: toutes ressemblances avec des personness ou des faits reels n'est pas fortuite :D
dbdr: bon, ya un moyen de parser des ints de facon compacte en C#?
Stilgart: en changeant de langage, ça doit être faisable :)
Zorg1: ça sent le golf ...
dbdr: quelle idée :D
Stilgart: plus sérieusement, j'en sais rien, j'ai ...
Stilgart: ... jamais golfé du C#
Zorg1: moi c'est + simple j'en ai jamais fait ^^
dbdr: je n'ai jamais non-golfé du C#
Zorg1: c'est bon on a les 3 ours de boucle d'or en version C# ^^
dbdr: lol
dbdr: il manque le 4ème des 3 ours
Stilgart: Automaton2000: fais l'ours
Automaton2000: et on n'a pas encore fait de la merde
dwarfie: :D
Stilgart: :D
Zorg1: tkt Automaton2000 on y travaille
Automaton2000: il a pas fait une simu ?
Zorg1: nope on préfère les heuristiques pour ça
dbdr: Cannot assign lambda expression to an implicitly-typed variablecsharp(CS0815)
dbdr: ben tiens
dwarfie: et pendant ce temps la , ce roublard de dbdr qui m'a remis des char en plus dans la vue en python 3 :D
dbdr: oui mais je me suis refait doubler après
dbdr: et surtout passé devant en Java
dwarfie: meuh ....
pardouin: moi je suis passé 12ème en Golf
pardouin: merci le reset de Thor
pardouin: je suis 3ème en C#, langage que j'ai jamais utilisé de ma vie, c'te blague !
dbdr: je le dis toujours
dbdr: c'est plus facile de golfer dans un langage qu'on connait pas
dwarfie: et vlan ... égalité en java
dbdr: gg
dwarfie: j'avais pas pense le faire comme ca , ca va me servir ailleurs ;)
dbdr: moi c'est quand j'ai gagné 15 chars que je me suis dit ça :D
dwarfie: devant ... mais j'aurais du voir y'a 5 minutes ce char en trop :D
dbdr: gg
darkhorse64: J'y connais rien en Java (en PHP non plus d'ailleurs). C'est la partie import/class/main/parsing qui prend de la place, le code utile, c'est peannuts
dwarfie: ah non , ca valide pas ... bizarre, ca marche en C pourtant
dbdr: fail :D
dwarfie: epic fail meme
darkhorse64: Scanner i=new Scanner(System.in) comment peut-on faire aussi verbeux ?
dbdr: var i=...
dbdr: avec la bonne version de java
pardouin: la saisie des inputs en Java et en C#, un bonheur
pardouin: la moitié de tes chars y passent
darkhorse64: C++ cin << x << y << X << Y, c'est mieux non ? La moitié ? C'est que le reste est trop long !
pardouin: au final Thor ils ont changé les validateurs à cause du Nord qui n'était pas utilisé mais les validateurs restent très "asymétriques"
darkhorse64: Ca change rien pour les déplacements E/W
pardouin: ils auraient du mettre un validateur avec un angle proche de la verticale
dbdr: 216
darkhorse64: Il y en a un dans le jeu de tests. 216, c'est abusé
dbdr: :D
pardouin: 216 quel langage, quel puzzle?
dbdr: C#, Thor
darkhorse64: 214
pardouin: 215 moi
dbdr: 215
pardouin: je suis le seul couillon à récupérer les entrées comme ça ou il y a plus rapide : var i=Array.ConvertAll(Console.ReadLine().Split(),int.Parse) ?
dwarfie: 206 ... pas désolé ... :D
dbdr: tu as submit? ;)
dwarfie: et non , t'es pas le seul , j'ai la meme
dwarfie: dbdr ... cette fois oui ;)
pardouin: j'ai cherché à utiliser la déconstruction mais il faut un tuple
darkhorse64: C'est bien ce changement de validateur, j'ai fait le plein de points, 990+ / 1000. La même
pardouin: en hardcode ou en legit dwarfie?
dwarfie: legit
pardouin: (je compte pas le E-W non utilisé comme hardoce)
pardouin: code*
pardouin: bash?
dwarfie: non puisque j'utilise le meme parsing que toi ;)
pardouin: oui c'est vrai
dbdr: dwarfie, désolé ;)
dbdr: merci pardouin
dwarfie: pfff ... juste parce que pardouin t'as donné son parsing ...
dbdr: exactement
pardouin: :)
dwarfie: profite des erreurs des debutants ;)
dbdr: :innocent:
dwarfie: j'etais sur que ca allait le faire
pardouin: si tu avais une méthode miracle pour la "partie logique" tu serais plus haut que moi en JS
dbdr: enfin pas juste parce que, vu que je suis devant toi
darkhorse64: Pour l'inspiration, il y a les solutions publiées
dbdr: le golf est publié? :D
pardouin: j'avais trouvé un hardcode de don't panic comme ça
pardouin: haha
darkhorse64: mais non, les puzzles
dbdr: ce serait l'erreur bete :D
dbdr: pardouin tu parlais du JS pour qui?
pardouin: pour dwarfie
pardouin: il est à 101 chars
dbdr: noob
pardouin: ou bien il a un parsing dégueu
dwarfie: degueu ... pas du tout
dbdr: degueu, en golf? ;)
pardouin: on se comprend :D
dbdr: oui
dbdr: ah, j'étais bête
JBM: tu le seras moins ce soir
dbdr: deja fait
pardouin: d'ailleurs sur des forums de golf j'ai vu des gens qui utilisaient des => pour print
dbdr: je peux aller me recoucher
pardouin: mais ça a pas l'air de marcher sur CG
dbdr: lien pardouin?
dbdr: parfois en golf les IO sont pas spécifiés
dbdr: genre une fonction qui retourne la valeur, plutot qu'un print
pardouin: oui
pardouin: _=>"truc à afficher"
dbdr: c'est valide que si c'est pas vérifé automatiquement comme sur CG
pardouin: et sinon je vois beaucoup de print"truc"
pardouin: mais ça doit être une vieille version
JBM: que si c'est pas verifie "par I/O"
dbdr: JBM fix ton perl plutot ;)
pardouin: dbdr ton 92 JS il est legit?
dbdr: tout à fait legit
pardouin: ok
dbdr: tiens, mon 91 aussi, du coup
dbdr: merci encore :D
dwarfie: bon ... pardouin ... :door:
dwarfie: tu l'aide de trop :D
dbdr: une optim trouvée dans un autre langage que j'avais pas reporté sur JS
dbdr: là il a pas dit grand chose qd meme
dbdr: ça m'a juste fait reregarder mon JS
pardouin: je viens de découvrir les ?? en C#
pardouin: je pensais gagner des chars mais en fait non -_-
dbdr: tu as des nuls?
pardouin: juste pour un petit passage
Zorg1: ah t'as des opérateurs genre !! ?? ?! ** en C# ?
dwarfie: ouais mais ils sont pas foutu d'avoir le spaceship ... et pourtant ca m'aurais bien servi ailleurs ...
dbdr: ça vaut pas le turbofish non plus
dbdr: https://turbo.fish/
pardouin: ah tiens je connaissais pas dwarfie, je vais regarder ça pour le C++
dbdr: spaceship c'est pas en perl?
dbdr: ah, C++ 20
dbdr: CG supporte pas encore, si?
pardouin: sais pas
pardouin: en python il y a pas mieux que while 1: ?
dbdr: je sais pas, mais j'ai un while 1:
Suez17: j'ai remarqué que dans CoC où il faut faire le moins de lignes de code on est plus ou moins avantagé en fonction du langage
dwarfie: c'est le moins de char , pas le moins de lignes ... mais oui , faut souvent choisir le bon langage
Suez17: oui le nombre de caractères effectivement
dwarfie: et le gag , c'est que certains font des sujets minables qui utilisent une fonction native de python qu'ils ont découvert et que c'est souvent dans un autre langage qu'on fait plus court :D
Suez17: ah clairement ceux qui prennent Python sont souvent en première position dans ce mode
Suez17: genre moi je prend Java, je fais 300 caractères, ils font la même avec 25 caractères wtf haha
dbdr: d'où l'intéret du golf
dbdr: chaque langage est noté séparément
Suez17: ahh je savais pas
dwarfie: le probleme c'est que (beaucoup) trop de sujets de CoC passés l'année passée étaient clairement orienté python ...
dwarfie: mais heureusement ... bash rulez da world
dwarfie: :D
Suez17: sûrement dû à l'explosion de l'intérêt pour ce langage ces dernières années
piwai: hello
piwai: je débarque mais il y a eu des changements de validateurs dans power of thor?
Zorg1: ou à son statut de langage d'apprentissage
**dwarfie ne donnera pas son avis sur la reponsabilité des faineants qui l'enseigne ...
Zorg1: piwai : oui
piwai: merci , effectivement le test2 s'appelle "Nord" :D
Suez17: oui beaucoup de gens disent que c'est un langage facile d'accès au débutant
Suez17: J'ai envie de me pencher dessus mais venant de Java, j'ai un peu de mal avec sa syntaxe, mais bon il suffit de s'habituer
dwarfie: et ils restent debutants ... pire gag de cette année "humm , c'est dur ... j'y arrive pas ... le for en python c'est mieux et plus facile qu'en bash" ... chercher l'erreur , ca marche pareil ...
Suez17: hum ouai je vois
dwarfie: et en plus , va leur faire comprendre la difference entre une string , une liste , un tableau quand ils ont pris l'habitude de laisser l'interpreteur se foutre du typage ...
dwarfie: :duck:
Suez17: c'est vrai que si je devais conseiller un langage ce ne sera pas un langage interprété, perso j'ai commencé sur du C qui je pense est un bon langage pour commencer
Suez17: typage fort, gestion manuel de la mémoire etc
Suez17: après faut apprécier les pointeurs haha
pardouin: regardez le classement Python de Don't Panic :DDDDD
Thyl: Ouais 50% au Bridge 2 ça avance !
dwarfie: ouais ... ou ca tombe dans le trou ;)
Suez17: en tout cas la France est bien représenté :grin:
pardouin: ben c'est un site français, donc ça aide :)
Zorg1: un peu normal pour un site intialement français ...
Suez17: haha ouai
Suez17: mais ça reste ouvert au monde
dbdr: joli pardouin
Thyl: Help
pardouin: je pensais pas utilise un jour la chaîne de caractères 'i¡¯' dans un script XD
Thyl: sur le mot cle continue
pardouin: utiliser*
pardouin: oui thyl?
Thyl: quel est le raisonement
Thyl: ex
Thyl: j'ai 2 boucles imbriqué (qui vont voir dans l'arbre des possibles)
pardouin: break ça casse la boucle, continue àa passe direct à l'itération suivante sans exécuter ce qui est après continue
pardouin: ça coupe que la boucle en cours
Thyl: oui sauf
Thyl: que
Thyl: j'ai une if
pardouin: si tu veux sortir des deux boucles il te faut un petit drapeau
Zorg1: un label ?
pardouin: boucle = while ou for, ça ignore les if bien sûr
Thyl: en faite j'ai une func qui regarde si les coups sont bon
Thyl: sinon elles renvoie False
pardouin: par exemple sortir = True et tu fais if sortir: break à chaque niveau
Thyl: j'ai une if pour tester le False
Zorg1: si t'envoyais le code qui pose problème
Thyl: Attention il est hyper bizar !
Zorg1: parce que là on bosse un peu dans l'air
Thyl: for tour2 in possibilites(): http://chat.codingame.com/pastebin/95eb4e9e-905b-4bd7-b2c0-b84f00c1a9d8
pardouin: si tu es dans une fonction tu peux utiliser return, ça fait une sortie anticipée quel que soit le niveau d'imbrication
Thyl: plus complexe
Thyl: je stock mon generateur return une tuple
Thyl: (fonction, est coup)
pardouin: (je vais manger sorry)
Thyl: du coup je trouve la fonction par indexation
Thyl: (pardouin je crois que t's pas le seul)!
pardouin: en tout cas utilise un booléen qui te dit si tu dois break/continue, en général c'est comme ça quo'n gère ces imbrications
Zorg1: ou tu poses un label sur les boucles et tu fais un continue ou un break avec le nom de ce label (dans certains langages, pas sur que python ait cette fonctionalité)
Zorg1: ce qui est + simple qu'utilisé un booléen, qui peut franchement alourdir le code
Zorg1: je me souviens quand des staliniens du code nous avaient imposé un seul return par fonction, ok tu te débrouillais avec un flag mais ça rend le code un peu lourdingue
Zorg1: après c'est vrai que break/continue/return sont des goto déguisés
Thyl: je crois qu'en python ça s'appelle coroutines
Zorg1: euh non je ne crois pas ;-)
Zorg1: t'es en train de mélanger des concepts là à mon avis
Thyl: aaaa.
Thyl: en tout cas j'en peux plus
Thyl: je fais un if pour vériiais si c'est faut
Thyl: est la c'est faux
Thyl: et le if il marche pas ....
pardouin: remets ton code et explique exactement le comportement attendu
pardouin: et sinon est-ce que tu connais la syntaxe for :... else:...
pardouin: peu de gens connaissent
pardouin: en gros ce qui est écrit après le else ne s'exécute que si le for s'est exécuté jusqu'qu bout sans break
pardouin: ça marhe aussi avec while, c'est pratique dans certains cas, ça évite les drapeaux ou autres
dwarfie: :scream:
Thyl: Trop bien !
Thyl: merci pardouin !
Thyl: la je fais du nettoyage:grinning:
dwarfie: trop bien !? ca n'a pas de sens ... un else qui s'execute si tout s'est bien passé !!!!
**dwarfie s'exile dans une autre dimension ou python n'a jamais été bricolé ....
Zorg1: la nature ayant horreur du vide, tu risques de te retrouver avec un truc pire dans ta nouvelle dimension ...
Stilgart: fix ton dimension surtout
Stilgart: parce qu'à choisir, autant en prendre une sans python
Stilgart: ni java, ni javascript
Zorg1: "Dans la dimmension 12.34 les langages de programmation sont dominés par un mélange de Java, Fortran et Awk"
pardouin: c'est vrai que le choix de "else" pour ça est étrange
pardouin: ils auraient mis "nobreak" ou autre, ça passait mieux
dbdr: ça coute cher les keywords. faut pas gâcher
Zorg1: on utilise bien "static" pour dire variable/méthode de classe ...
Zorg1: le lien n'est pas super évident
dbdr: c'est hérité de C non?
dbdr: une variable statique existe en une seule copie, pas une par appel
dbdr: il y a une ressemble en plissant bien les yeux
Zorg1: oui ça vient du C
Zorg1: mais non ça fait "truc donc l'implémentation a donné le nom"
Zorg1: (un peu comme les fameux car et cdr de Lisp et consor)
dbdr: cons-or :D
Zorg1: ;D pas mak
Zorg1: *pas mal
Zorg1: j'ai un problème d'alignement de mes doigts avec mon clavier
dbdr: bouge le clavier
dbdr: https://www.scala-lang.org/api/current/scala/io/StdIn$.html
dbdr: object StdIn extends StdIn
dbdr: logique :D
Zorg1: m'ouais Scala
Zorg1: j'avais un peu regardé, ça m'a jamais tenté
dbdr: ya bcp de magie, non?
Zorg1: je ne sais pas, j'ai trouvé ça compliqué
Zorg1: tu balances des dev java de base là dessus j'ai bien peur que le résultat ne soit pas beau à voir
dbdr: clair
dbdr: arf, le vieux hack :D
dbdr: JBM, éclaire-nous sur l'historique de static
Zorg1: attend je mets mes lunettes de soudure
dbdr: *lunettes de cdr
Zorg1: oooo
JBM: euh... ca vient de C comme t'as dit?
dbdr: dis tonton JBM, y'avait quoi avant C?
Zorg1: hé hé
JBM: et des langages pas trop tourne autour du concept de pile d'appel
dbdr: bcpl sans static?
JBM: je sais pas, j'en ai jamais fait
dbdr: pff, le jeunot
Zorg1: y avait B entre BCPL et C
dbdr: c'est le "Before C Programming Language" ?
dbdr: quelle vision!
JBM: pardon avant C en francais
Zorg1: ça me rappelle les archives de l'empire romain avec "68 avant JC' :p
dbdr: joli
dbdr: les deux
dbdr: mince, j'ai pasté un bout de golf dans google
JBM: et maintenant google connait tes tricks
dbdr: in4 un googler top golfeur
dbdr: perusse faut découvrir?
JBM: ah ben si t'as pas encore fait oui
JBM: la decomposition b doit venir de la maison slangster
dbdr: ça a l'air pas mal
dbdr: c'est de la radio à l'origine?
JBM: mais je sais pas si ca a bien vieilli
dbdr: ça me rappelle le minifilm dans la cité de la peur :)
dbdr: purée le débit! :D
788361: amis de la peur et des cités o/
JBM: essaie les versions quebecoises apres
dbdr: et la densité
JBM: debit+accent, il me faut plusieurs ecoutes
dbdr: :scream:
788361: comment es ta québecois ?
dbdr: ya qqn aui vient de mettre un upvote sur youtube?
dbdr: de 103 à 105 c'est louche :D
JBM: https://youtu.be/7njsTmM-RRE?t=79 <https://youtu.be/7njsTmM-RRE?t=795>4
JBM: mm j'espere que ca passe mieux sur le webchat que le xmpp brut
Bob: ça passe
dbdr: c'est bon à connaitre, merci JBM
dbdr: https://www.youtube.com/watch?v=PviZj7ogUlU
dbdr: la chaine est pas mal je trouve
Suez17: quelqu'un a réussi le puzzle ANEO ?
Zorg1: 7131 codingamers s'il faut en croire CG ^^
Suez17: lol je le trouve assez cocasse pour un niveau moyen
pardouin: trop facile tu veux dire ?
Suez17: pas pour moi ^^
Zorg1: après les niveaux ...
Zorg1: on va pas relancer ce débat stérile non plus
pardouin: :)
Suez17: oui c'est sûr, enfin je trouvais juste que celui-là est particulièrement difficile par rapport à d'autres niveaux moyens
Suez17: mais bon t'as raison les niveaux ont pas l'air si indicatifs sur les puzzles
pardouin: tu avais un problème de temps c'est ça ?
Suez17: oui c'est ça avec les feux, il faut trouver une vitesse moyenne pour passer tous les feux au vert sans s'arrêter
dwarfie: euh ... non en fait faut tester toutes les vitesses :D
pardouin: je vois bien le problème, j'ai ma solution sous les yeux
pardouin: je voulais dire, ton script mettait trop de temps ?
Suez17: hum non même pas je reste un peu bloqué sur l'algo
pardouin: déjà trie les entrées, ça aide
Suez17: les 4 premiers tests passent il sont assez simples pour 1 feu ^^ mais après..
Suez17: ouai je vais voir
Zorg1: comment ça trier les entrées ?
dwarfie: Zorg1 : je confirme , ca sert a rien de trier :D
pardouin: effectivement j'ai retiré ma ligne de tri et ça servait pas
pardouin: :)
Zorg1: voila vu que tu t'arrêtes pas tu peux considérer chaque feu comme un pb unique
Suez17: hum là ce que j'ai fait c'est de récupérer la vitesse max pour passer un feu N au vert en partant du point de départ
Suez17: en gros créer une liste de vitesse max pour chaque feu pour passer au vert
Suez17: après je voulais faire un moyenne de ces vitesses mais c'est pas ça du tout
dwarfie: alors que c'est tellement plus simple de "pour chaque vitesse en decrementant, voir si on passe tous les feux"
Suez17: oui bien vu ça a l'air beaucoup plus simple
Suez17: je vais tenter ça
dwarfie: apres , faut avoir un langage qui est assez performant pour pas timeout
Suez17: j'ai pris Java
dwarfie: alors ca devrait passer a l'aise ... je pense ...
Zorg1: oui java ça marche
Suez17: ok je tente ça
Suez17: :thumbsup:
dine-mok-el-mechoui: hola
pardouin: je l'ai fait en python donc pas de soucis
pardouin: o/
JBM: dbdr: t'aurais pas moyen de faire ignorer les changements "ajout d'une page de logs" dans ton wiki?
JBM: ca pourrit pas mal les "recent changes"
788361: comment es ton pourriture
JBM: assez communiste en ce moment
Bob: <3
Bob: c'est marrant j'ai deux écritures possibles pour une triple boucle et je ne parviens pas à dire laquelle je préfère
Bob: v1
for (let y = 0; y < grid.length; y++) { for (let x = 0; x < grid[y].length; x++) { for (let rotation = 0; rotation < 4; rotation++) {
Bob: v2
grid.forEach((row, y) => { row.forEach((s, x) => { [0, 1, 2, 3].forEach((rotation) => {
JBM: la version colorisee est plus jolie
JBM: quoiqu'un peu palote sur ce theme clair
Bob: désolé ^^;
JBM: perso en general j'aime pas trop les [1,2,3].for
Bob: je trouve la v2 plus élégante et moderne mais techniquement ça implique la création d'un petit lot de fonctions que la v1 ne fait pas
JBM: l'optimiseur s'en charge pas?
Bob: aucune idée
Bob: c'est Node
Bob: (JS)
Bob: :p
Bob: disons que si la v2 implique un coût en perf qui pourrait s'avérer gênant sur des gros trucs, j'aimerais autant pas prendre de mauvaises habitudes
Bob: bon après je soupçonne que le jour où on se soucie de la perf, vaut peut-être mieux pas faire le backend en JS
Bob: après si le [0,1,2,3] inliné te défrise, je peux toujours fourrer un const allRotations = [0,1,2,3] dans un coin :)
Suez17: Question : est-il possible d'avoir ce message : http://chat.codingame.com/pastebin/dff00b3b-9812-4d3e-adb7-eeada024f3f9
Bob: oui
Bob: et d'ailleurs le message explique très bien pourquoi :)
Suez17: hum je n'ai mis aucune solution en dur :(
Bob: non
Suez17: je suis déçu
Bob: mais c'est pas ce que dit le message
lhm: Ce qu'il faut retenir "les validateurs sont différents de ceux de l'IDE"
Bob: il dit pas que tu es refusé parce que tu as hardcodé
lhm: Ce n'est pas parce que tu passes tous les tests de l'IDE que ta solution est correcte :)
Bob: il dit que les validateurs sont différents, pour éviter que des gens hardcodent
Bob: en général ce message sous-entend que les validateurs incluent un cas de figure qui n'est pas présenté dans les tests de l'IDE
Bob: et que ton code ne prend pas en compte non plus
Bob: ce qui à son tour sous-entend que le jeu de tests de l'IDE est incomplet :)
Suez17: hum oui je comprend enfin ça va être dur de trouver la faille du coup
Bob: à partir de là, soit tu as des replays des validateurs et là tu devrais arriver à voir ce qui cloche
Bob: soit pas et c'est plus moche :)
lhm: Pas tant que ça, parce que tu sais quel validateur a échoué quand même
lhm: En instrumentant ton code tu vas trouver
Bob: ouais mais bon si le validateur il s'appelle "Validator 4"...
lhm: ah oui
Suez17: oui mais il n'y a aucun entrée / sortie
Bob: http://chat.codingame.com/pastebin/d6f50be4-dd0c-4da4-83d9-45796c27addd
Suez17: haha merci du conseil
Bob: c'est quel puzzle ?
Suez17: Aneo
dbdr: JBM: ya un filtre "human", mais faut que je trouve le moyen de marquer mon bot
Bob: euh c'était lequel celui-là déjà ?
Bob: ah oui
Suez17: tu as des feux, tu dois trouver la vitesse max qui te permet de passer tous les feux au vert dans s'arrêter
Bob: yes
Bob: 15 lignes
Suez17: haha oula ça dépend pour qui
Suez17: j'ai passer 3h30
Bob: fais voir ton code ?
Suez17: pour faire 80%
Suez17: il est un peu sale
Suez17: je t'envoie
Bob: au minimum t'as le nom du validateur qui échoue
Bob: ça peut donner une vague idée
Bob: vas-y colle dans le chat
Suez17: Autoroute allemande et route de campagne sans terre plein central
Suez17: http://chat.codingame.com/pastebin/92c7361a-4dbe-47e0-a6ef-3bec4ae91a13
dbdr: bah pourtant: https://cg.spdns.eu/wiki/Special:UserRights/Chat_Log
dbdr: il est bien dans le groupe Bots
Bob: d'emblée, j'ai une hésitation sur la constante de conversion + le math.round
Suez17: hum oui je pense aussi c'est là où j'ai le plus séché
dbdr: et pourtant...
Suez17: la constante est peut-être trop approximative
Bob: !(((Math.round(temps) % (infosFeu[1] * 2)) >= 0)
Bob: >_<
Suez17: lol ouai je sais c'est pas ouf
Bob: en fait tu veux dire Math.round(temps) % (infosFeu[1] * 2) < 0 ?
Bob: du coup
Bob: les négations c'est le Mal
Suez17: hum
Suez17: oui j'ai fait pas la négation pour simplifier
Suez17: en gros tant que le résultat est faux je continue
Suez17: à chercher la valeur
Suez17: je vais essayer de simplifier
dwarfie: < 0 et < duration ... bizarre
dwarfie: vu que duration est toujours > 0
Suez17: hum
dwarfie: ah non , j'ai rien dit ... trop de parenthase , ca rend moins lisile que du clojure :D
Bob: déjà en effet je commencerais par virer la constante
Bob: et faire le vrai calcul
Bob: tu auras moins de risques de tomber sur une erreur de précision à la con
Bob: ensuite euh pourquoi round en fait ?
Suez17: ouai je pense aussi
Suez17: le round en fait
Bob: plutôt que floor, par exemple
Bob: j'ai aussi un peu de mal à comprendre le % (infosFeu[1] * 2)
Suez17: admettons le feu dure 10 sec, à partir de la seconde 20 tu repasses au vert, j'avais calculé 19.99995 sec pour arriver au feu, ça m'a compté faux, il fallait que j'arrondisse à l'unité la plus proche pour que ça passe
Bob: en fait je suis limite surpris que ce code-là passe tous les tests :)
257832: Reuh
Suez17: haha non je jure
Suez17: y'a que les tests non ide où je suis à 80%
Bob: ah je ne conteste pas
Bob: mais des fois par manque de bol un code très faux peut quand même passer tous les tests :)
Suez17: hum oui je vais essayer de simplifier tout ça
Thyl: Yo
dwarfie: clair ... moi je suis plus sur Math.round(temps/infosFeu[1])%2
dbdr: JBM: si tu as une idée... là je vois pas
Bob: pas mieux que dwarfie
Suez17: je me dis toujours faire une première solution, et ensuite refactorisé / optimisé
Bob: enfin moi j'ai un floor
BlaiseEbuth: Sur quoi ?
Bob: ah ça oui c'est toujours une bonne idée
dwarfie: en effet , je suis avec un floor , mais je voulais pas donné la réponse final :D
**dwarfie en mode roublard
Suez17: floor passerait ?
Bob: hihi
Bob: en fait c'est vraiment ton test avec le modulo par le double de la durée du feu que j'ai du mal à comprendre
BlaiseEbuth: Suuuurrrkwaaaaa ?
Bob: le puzzle Aneo
Bob: celui où il faut speeder pour avoir l'onde verte
Suez17: hum en fait ce module
BlaiseEbuth: Ah ouai, d'où les arrondis
Suez17: modulo
dbdr: en fait, la question est philosophique: qu'est-ce qui fait qu'un bot est un bot
Bob: Automaton2000, qu'est-ce qui fait que tu es un bot ?
dbdr: faudrait demander à Alan, s'il était encore parmis nous :(
Automaton2000: après je ne sais pas
Bob: AutomatonNN, qu'est-ce qui fait que tu es un bot ?
AutomatonNN: et c'est quoi le but de l'article ?
Bob: eh ben c'est pas avec vous deux qu'on va faire progresser la science hein
JBM: Automaton2000, si tu vois une tortue retournee dans le desert, qu'est-ce que tu fais?
Automaton2000: faut faire gaffe à ce que ce n'est pas le boss ?
BlaiseEbuth: Ouai, prudence
Bob: JBM : fais gaffe y en a qui ont mal fini en posant ce genre de question
Bob: (référence)
Bob: (le début de Blade Runner)
JBM: c'est fou que j'aie parle de ca
dbdr: allez, spéciale dédicace à dwarfie https://www.youtube.com/watch?v=jQE66WA2s-A
Bob: pardon - la vraie question c'est "vous ne la retournez pas. Pourquoi faites-vous ça ?"
Bob: c'est d'autant plus mignon que tu aies posé cette question précise vu que le but du test dans le film est précisément de déterminer si on est face à un androïde :)
JBM: c'est vraiment une coincidence incroyable
BlaiseEbuth: Mais ça marche pas pour les iphones du coup ?
dbdr: ya un rapport avec Bender qui sait pas se remettre debout s'il est sur le dos?
Zorg1: bah non ton iphone fait partie d'un réseau dont la finalité est de simuler le cerveau de Steve Jobs
dbdr: lol
Bob: Suez17: ah j'ai compris ton modulo
dbdr: pour le Woz ils avaient pas la capacité
Bob: donc pour info, moi en faisant le vrai calcul pour la conversion et avec un floor a priori ça passe
Bob: enfin je suis en C++
Bob: tu es peut-être victime d'une fourberie avec le modulo sur des double aussi
Bob: ah mais attends t'as aussi un truc fondamentalement faux dans ton code
Zorg1: bob the human debugger
Bob: ah non pardon
Bob: c'est le test qui est dans le sens inverse du mien
Bob: bon en tout cas t'es pas très loin
Bob: juste ton test qui me semble un peu compliqué conceptuellement
Bob: tu divises par le double de la durée du feu et tu regardes si le nombre de secondes restant est dans la "bonne" moitié
Bob: moi je divise par la durée du feu pour avoir le nombre de cycles écoulés et je regarde si il est pair ou impair :)
Thyl: Les doubles ne facilite pas le modulo ?
Bob: c'est-à-dire ?
BlaiseEbuth: :thinking:
Bob: en fait le code de Suez17 essaye de savoir où il se trouve dans le cycle rouge/vert
Bob: moi je compte juste le nombre d'alternances
Bob: ça revient au même pour le but visé ici mais ma méthode me semble un peu plus simple à conceptualiser et à coder
Bob: la sienne est un peu plus précise mais c'est une précision dont on n'a pas besoin ici
pardouin: quelqu'un peut reposter son script ?
pardouin: je l'ai passé en python avec un floor en tout cas
Zorg1: http://chat.codingame.com/pastebin/92c7361a-4dbe-47e0-a6ef-3bec4ae91a13
Zorg1: j'avais un onglet ouvert dessus, t'as de la chance
pardouin: pourquoi il divise pas par 3.6 au lieu de multiplier par sa constante ?
pardouin: et floor au lieu de round
**BlaiseEbuth essuie le sang de ses yeux.
BlaiseEbuth: Pourrait prévenir quand c'est du java...
Zorg1: t'avais pas ta bassine à portée de main ?
Zorg1: c'est bête
Bob: c'est ce que j'ai dit
pardouin: j'ai testé avec ces modifs mais ça fait que 90%
Bob: j'ai réussi à le bricoler un peu pour faire 100
Bob: donc bon c'est pas très loin
Bob: mais je saurais pas vraiment dire pourquoi ça passe pas
BlaiseEbuth: Parce que le feu est rouge... :grin:
Bob: tu sors
Bob: mais non pas toi
BlaiseEbuth: Qui ça ?
Bob: mais non pas toi
BlaiseEbuth: Bob est cassé ! :scream:
Bob: :D
Zorg1: Nous pouvons réparer ce Bob
Zorg1: nous en avons les moyens technologiques et financiers
pardouin: j'ai essayé de mettre des (double) partout mais sans succès
Bob: Out of b33r error
BlaiseEbuth: fix ton Bob
Zorg1: améliore ton réserve de beer
pardouin: Ah si j'ai trouvé comment fixer son code. Tu cliques sur la combo box en dessous de JOBS.
BlaiseEbuth: Steve...
Zorg1: (bruitage chelou bionique)
Bob: aaaaahhhh mais je chie sur graphql
JBM: son systeme cyberdigestif est deregle!
Bob: je t'en foutrai de rajouter des champs typename moi
Bob: forcément après le isEqual passe pas
pardouin: je viens de percuter que selon les langages, le retour chariot compte 1 ou 2 chars
Suez17: Bob: nickel je vais essayer
Zorg1: ça fait mal ?
pardouin: sur JS ça ne compte qu'1 donc il vaut mieux passer à la ligne qu'écrire \n
Suez17: fallait que je fasse une pause ahaha
Bob: bon courage en tout cas t'es pas très loin
Bob: moi je vous la souhaite bonne
Bob: soyez sages
Bob: o/
Suez17: ++
pardouin: \o
Zorg1: o/
BlaiseEbuth: \o/
dbdr: pardouin: pourquoi 2 chars?
dbdr: avec l'indentation?
BlaiseEbuth: stoi l'indentation
dbdr: good bot
Zorg1: bad bot
dbdr: ugly bot?
BlaiseEbuth: Wouhinhinhinhinhin...wouin wouin wouin !
Zorg1: le monde se divise en deux, ceux qui ont le flingue et ceux qui codent des IHMs. toi tu codes :p
dbdr: TIL, brutto ça veut dire laid
Zorg1: oui mais les traductions de titres de films
dbdr: ben en français ils ont gardé la phonétique
dbdr: en anglais le sens
dbdr: cela dit la traduction en français sonne plutot mieux non?
dbdr: et celle en anglais est meilleure comme meme pour faire des articles de blog sur tout et n'importe quoi
dbdr: classique
dbdr: https://en.wikipedia.org/wiki/Good_Bad_%26_Ugly
- D
Zorg1: houla une version indienne
Zorg1: j'ai peur
dbdr: Sergio Leone à Bollywood?
Zorg1: chépa t'as une indienne avec un violon en premier plan
dbdr: ouais, ça parle d'une greve
dbdr: ça doit voler plus haut
Zorg1: et ils ont remplacé la guerre de secession par une grève
BlaiseEbuth: Pareil
Zorg1: y a un scène où ils démolissent une usine pour faire plaisir à un syndicaliste mourrant ?
dbdr: c'est ma scène favorite
Zorg1: je me souviens de celle ci, de la scène dans le cimetière, et celle où Tuco est dans la baignoire (en gros)
JBM: quand tu dois tirer, tire
JBM: j'ai vu recemment la version longue
JBM: on comprend vachement mieux l'histoire
RomanceDawn: katon !
Zorg1: l'ancien ou le jeune ?
TheTwilightRubberDuck_3bc: du monde?