Chat:Fr/2020-09-01
tekki: bonjour
tekki: salut AutomatonNN
AutomatonNN: j'imagine que c'est pas trop compliqué de faire un truc de base
Stilgart: Automaton2000: la tortue c'est la base !
Automaton2000: il me fait des trucs sales
Stilgart: AutomatonNN: tu vois bien que c'est compliqué pour ton frère :(
AutomatonNN: oui
Bon[]Crayon: Salut
Bon[]Crayon: Salut AutomatonNN
tekki: salut
AutomatonNN: Automaton2000 t'es monté à cette proposition
Bon[]Crayon: Salut Automaton2000
Automaton2000: et que tu as fait un ag en python
tekki: AutomatonNN t'as fait le puzzle de la semaine?
AutomatonNN: oui
tekki: tu peux me donner une piste alors
tekki: AutomatonNN?
AutomatonNN: oui
tekki: salut
oPyRuSo: il y a un CoC qui donne 100% de tests ok, mais juste 80 de score... on previent qui dans ces cas la ?
tekki: yo no sé
oPyRuSo: oki, dommage, je n'ai pas noté le nom de l'auteur
tekki: ++
Bob: plop
pardouin: si tu te rappelles le thème on peut te le retrouver, ça parlait de quoi ?
pardouin: yo bob o/
Magus: Salut tout le monde et Automaton2000
Automaton2000: c'est quoi ton rank ?
Bob: salut Magus
Bob: longue
Zorg1: o/ tout le monde et les bots de concours Automaton2000 & AutomatonNN
Automaton2000: sais pas si ça marche
AutomatonNN: voila
Bob: bon la semaine va etre encore plus longue que prevu je pense
dbdr: \o
Bob: o/
dbdr: kesepastil?
Zorg1: rindneuf
dbdr: et au bobfice?
Bob: oh rien de bien terrible
Bob: juste un des elus du CSE qui vient de nous casser les couilles pendant 15 minutes a nous sermonner parce qu'il nous a apercus, une autre elue du CSE et moi, sans masque
Bob: et qu'on doit donner l'exemple et gna gna gna
Bob: voila 15 minutes de ma vie que je ne recupererai jamais
dbdr: c'est obligatoire? recommandé?
pardouin: est-ce qu'en clojure on peut faire l'équivalent du Python: a, b = [1, 2]
pardouin: ?
JBM: tu golfes ton clojure? deja?
pardouin: (avec un vector)
pardouin: non je veux juste faire ce satané montagne russe
pardouin: j'aimerais juste comprendre un peu la logique fonctionnelle
dbdr: tu as lu un tutoriel?
pardouin: https://kimh.github.io/clojure-by-example/#reduce
JBM: bob eb avait un bon a recommander a une epoque
pardouin: ça m'a l'air pas mal pour commencer
JBM: le terme generique common lisp pour ca est "destructuring bind"
JBM: si ca peut aider ta recherche
pardouin: ok
Bob: dbdr : techniquement c'est obligatoire oui
dbdr: ça ça a l'air d'etre des exemples d'utilisation de fonctions particulières
dbdr: c'est pas inutile, mais pas idéal
pardouin: c'est déjà pour avoir des petits exemples pour piger la logique
pardouin: j'ai pas de pb avec l'aspect NPI du truc
pardouin: et j'ai l'habitude d'utiliser des maps, reduce etc
pardouin: mais j'avoue que faire tout comme ça me laisse un peu perplexe pour le moment
dbdr: j'imagine que le masque toute la journée, c'est bien chiant, effectivement
dbdr: NPI?
dbdr: \o/
pardouin: (+ a b)
dbdr: non
JBM: moi qui me disais "mmm, personne demande, allons-y"
pardouin: ce genre de truc ne me choque pas
JBM: note qu'elle est pas inversee ici
dbdr: rrpn?
Bob: bah apres j'ai des copains qui font des metiers de sante ou ca fait des annees qu'ils portent le masque presque en permanence, donc bon eux ca les fait un peu rigoler toutes nos minauderies sur le sujet
Bob: reverse polish notation
dbdr: reverse reverse
dbdr: 1-1 balle au centre
pardouin: NPII du coup
Bob: j'ai eu en fin de lycee une calculatrice HP qui se programmait comme ca
pardouin: là par exemple vous allez vous moquer mais je bloque sur ce bout de script à traduire:
pardouin: http://chat.codingame.com/pastebin/717019ac-ca64-4e81-936c-d2650eb94178
JBM: hp aait plutot tendance a la rpn
dbdr: une lisp machine de poche
Bob: une HP35 de memoire
pardouin: si j'avais qu'à faire S += s ça irait mais les deux trucs en même temps je gamère
pardouin: galère*
dbdr: pardouin: traduire c'est sans doute pas le plus facile
dbdr: cela dit, ya pas de la mutation de clojure si tu veux vraiment?
pardouin: oui idéalement il faudrait que j'applique la logique dès le départ
dbdr: s/de/en/
Bob: j'essaye de comprendre mon clojure de roller coaster
dbdr: mon RC en clojure fait 15 lignes
pardouin: mon python en fait 18
pardouin: mais je suis en PLS pour le traduire XD
Bob: mon clojure doit faire une petite soixantaine de lignes
pardouin: ça va me faire la semaine je sens ça
Bob: c'est une traduction quasi litterale de mon C++
Bob: ca m'avait bien amuse :)
Bob: je m'amusais de peu a l'epoque ouais
pardouin: donc on peut bien traduire quasi littéralement de l'impératif en fonctionnel
Bob: a priori oui
dbdr: c'est pas du fonctionel du coup
Bob: pas vraiment sans doute
pardouin: tu fais du !set partout ou bien? XD
Bob: enfin je sais pas, tu peux aller regarder ma solution et tu me diras
JBM: alternativement: qui te dit que le c++ de bob etait imperatif?
Bob: pardouin, non non
pardouin: j'ai déjà lu ses PM :o
Bob: j'ai un into dans un coin pour ma mise en cache
JBM: mais la il svait qu'il finirait par le faire en clj
Bob: mais bon la je crois que j'arriverais pas a relire ma solution sans aller regarder une paire de points de syntaxe de clojure
pardouin: après la déclaration des variables etc ça se traduit bien, suffit de s'imbriquer à chaque fois un peu plus dans le scope principal
pardouin: c'est l'aspect mutation qui est dur à traduire
dbdr: ben fait sans mutation
dbdr: çá sera plus instructif
pardouin: oui j'aimerais bien, plutôt que faire des binding/!set partout
dbdr: recursion pour la victoire
JBM: tiens au fait, t'as compris le delire de rec sur la negationisme des infinis hier?
JBM: il disait qu'il avait une these incomprise, j'ai relu j'ai vu que du troll, je reste perplexe
dbdr: je crois que je comprends
dbdr: rec il est pas trop maths pures
dbdr: c'est pas la première fois
dbdr: c'est pas du troll a mon avis, c'est juste pas son truc
JBM: donc c'etait du "si vous etes pas capables de me l'ELI5, c'est que vous le comprenez pas vous-memes, par extension c'est suspect de base"?
dbdr: c'est pour ça que j'ai parlé d'obscurantisme
dbdr: par hyperbole bien sur, et pour le troll un peu
Bob: j'ai rien compris mais ca a l'air rigolo
JBM: log #en d'hier aprem si tu veux revivre ce retro-cringe
pardouin: ça me rappelle quand je faisais un mémoire en géométrie algébrique et qu'on me demandait d'ELI5 mon sujet
dbdr: c'est pas forcément impossible, en trouvant le bon niveau d'abstraction
dbdr: je dis pas que c'est facile
Stilgart: Bob: à part l'appat du gain d'XP, je crois qu'il n'y a rien à comprendre d'un roller coaster en clojure ;)
dbdr: il y a une série dans le genre, par ex: https://www.youtube.com/watch?v=OWJCfOvochA
dbdr: Quantum Computing Expert Explains One Concept in 5 Levels of Difficulty
dbdr: le premier niveau étant pour les enfants
dbdr: Stilgart: pourquoi pas?
Stilgart: (j"ai dit ça après avoir rouvert le mien)
dbdr: tout s'explique :D
Stilgart: JBM: j'ai envie d'avoir un triplet strict, on peut avoir ça sans définir un nouveau type ?
JBM: ou alors tu triplet unboxed
Thyl: Yo !
Bob: shi
Stilgart: on peut dire unboxed sur un type Machin = (Int, Int, Int) ???
JBM: par contre t'as la syntaxe ghc native (# #)
Stilgart: ha, mais (# c'est aussi chiant que de faire ça propre avec un nouveau type
CopperFr: Bonjour, vous préférez le swift ou l'objective-C ?
dbdr: non
JBM: donc arrete de tourner autour du pot et fais ton type
Stilgart: (sans parler du fait que si je mets autre chose qu'un Int, ça peut ne plus marcher)
Bob: CopperFr, l'autre
pardouin: ahah j'ai fini de traduire, sans surprise ça ne complie pas, je vais m'amuser je sens ^^
pardouin: compile*
JBM: une des raisons de plus pourquoi c'etait pas une bonne idee de proceder par traduc
Zorg1: y a pas un script perl python2clojure ? :p
pardouin: quand mon truc dégueu passera je regarderai les solutions pour comprendre comment faire ça plus proprement ^^
JBM: c'est pas moi qui vais l'ecrire O:-)
JBM: l'ecosysteme clojure est mieux sans que tous les pythonneux ne debarquent
Zorg1: python étant un langage de débutant il faut bien qu'ils évoluent
Zorg1: pff
CopperFr: avant c'était le basic le langage de débutant
CopperFr: le python c'est pas si simple
JBM: manque plus que ses fans l'integrent
Familybubu: Salut
Zorg1: bah c'est pas dans le discours officiel de python que c'est un langage de débutant ?
CopperFr: peut-être je connais pas trop ce langage
Alshock: coucou tout le monde o/
Zorg1: \o
Bob: o/
Bob: bon pour moi qui suis habitue a boire de la flotte toutes les 5 minutes et a porter un casque dont les gros ecouteurs ne peuvent se mettre que par-dessus un masque, le port du masque c'est fort chiant
Bob: sans parler des lunettes
Zorg1: ah les lunettes qui s'embuent
Zorg1: c'est pénible
CopperFr: ben oui surtout que ca sert peut-être à rien
Zorg1: c'est comme les grigris ça rassure
Bob: je sais pas qui ca rassure chez nous
Bob: par contre ca emmerde tout le monde
pardouin: go c'est pas un langage de débutant c'est un langage de teubés
pardouin: c'est différent :)
JBM: d'ailleurs il recupere tous ceux qui emergent de python
Haashi: :rage:
pardouin: quand tu vas sur un forum go pour demander comment faire l'équivalent de <feature qui existe dans tous les langages mais pas en Go> on te répond "en Go nous préférons que tout soit très explicite et donc regarde il suffit de faire FUIKLKJHBVFGHJSBGYJBVGHJKSGHYJDVGHJDGHJKSJGHJVGHHJZGJYGHKLJSJKGSYUGHSJHSHJGSJS
pardouin: "tu vois c'était facile"
Bob: on dirait un message d'erreur de PowerShell
CopperFr: je pense qu'il faudrait revenir à l'algol
Bob: 68000 sinon rien #amigaVaincra
CopperFr: ben l'amiga c'est un peu mort
pardouin: en go une variable déclarée ùais non utilisée empêche la compilation
pardouin: trop pratique pour développer
JBM: t'as qu'a avoir le bon IDE
CopperFr: faut pas gaspiller les variables
Bob: euh non
Bob: https://www.youtube.com/watch?v=KsQnJP8tNnA
JBM: voici https://twitter.com/TartanLlama/status/1296412458597457920
Bob: t'as meme toujours des mecs qui font de la demo sur CPC ou C64
Zorg1: ah tiens j'ai accès à twitter au boulot ^^
Haashi: Ce tweet n'aura plus de sens bientot, go va avoir des generics bientot
pardouin: https://twitter.com/steveruizok/status/1300167839266078724/photo/1
pardouin: XD
dbdr: JBM lol
dbdr: qui a besoin de parametres de types quand on a unicode?
JBM: qui a besoin de generiques quand t'as qu'a meta-programmer le truc exterieurement
CopperFr: je sais bien qu'y a des demos sur les vieux ordi mais bon je préfére mon pc pour un usage quotidien :D
Bob: bah y a aussi des jeux :)
CopperFr: oui je sais bien j'ai même fait un sudoku sur amstrad cpc y a qq temps :D
Bob: Match du jour : Head over Heels sur CPC vs Trek Warrior sur ST
Bob: #whyNotBoth
CopperFr: le CPC c'est pas mieux que le ST ?
Bob: faut definir "mieux" mais a priori non
Bob: 8 bits vs 16/32
Bob: Z80 vs 68000
CopperFr: le cpc+ il a scrolling hard et 4096 couleurs :D
CopperFr: je trollais je sais bien que le st c'est quand même plus puissant que le st
Bob: ah non mais ici on est open a tous les avis hein :)
JBM: "le st c'est quand même plus puissant que le st" ca c'est du troll puissant
Zorg1: y a eu plusieurs modèles ^^
CopperFr: c'est une faut de frappe
dbdr: 0 est un nombre positif...
JBM: bien ironique pour le troll, d'ou soulignement
dbdr: ah mais oui bien sur
dbdr: l'ensemble des nombres positifs non plus
dbdr: vu qu'il est infini
dbdr: "il serait infini s'il existait"
dbdr: c'est dur d'etre cohérent avec ce discours
dbdr: :popcorn:
JBM: ah retrouve https://www.smbc-comics.com/comic/how-math-works
dbdr: :D
JBM: ca resonne un peu avec hamilton. d'ailleurs
dbdr: j'aime bien l'étape 3
dbdr: quel hamilton?
dbdr: le 4 c'est du JBM ;)
dbdr: tu en as fait une hier
dbdr: what causes gravity
JBM: https://www.youtube.com/watch?v=SZXHoWwBcDc
JBM: "I can only subtract and add back"
Cryp3r: Salut! Y a t'il un moyen de déclarer le int le plus grand sans ecrire 2147483647?
Bob: en quel langage ?
Bob: https://www.tutorialspoint.com/java/lang/java_lang_integer.htm
Zorg1: bah ça dépend de ton langage, doit y avoir une constante normalement
Cryp3r: merci! j'y vais faire un tour :D
Zorg1: évidemment j'ai scroll
Bon[]Crayon: ToToAutomatonNNTonTOn
AutomatonNN: tge
Zorg1: potage dans ta nouvelle méthode de compression du discours AutomatonNN ?
AutomatonNN: oui
pardouin: je vous embête encore en clojure, en fait j'arrive même pas à capter les entrées sur Montagnes russes, est-ce que quelqu'un voit le soucis :
pardouin: http://chat.codingame.com/pastebin/1fae35a9-180e-4e80-8a65-a2c76d853abc
pardouin: ?
pardouin: je veux capter 3 entiers en lignes et ensuite mettre une série d'entiers donnés ligne par ligne dans un vector F
pardouin: (j'ai un message d'erreur EOF)
pardouin: j'ain simplifié le truc, changé le read qui était bêtement à l'extérieur du if, du coup j'ai ça: http://chat.codingame.com/pastebin/6da54a21-4e72-4c96-9158-986c6b4a7d98
pardouin: plus d'erreur EOF mais ça compile toujours pas :(
pardouin: ah si c'est bon
pardouin: une parenthèse mal placée
JBM: j'editeur cg doit pas etre tip top pour les lisp
pardouin: bon au moins c'est rassurant j'ai mes entrées XD
Zorg1: le truc pénible en Clojure c'est qu'il faut expliciter pour avoir l'opti tail recursive (avec recur)
pardouin: oui je mets du temps à débuguer mais ça avance petit à petit
pardouin: mon objectif c'est d'arriver à le faire sans utiliser de !set ou autre cheat
Zorg1: c'est pas trop difficile si tu ne pars pas de ton code en impératif ;-)
pardouin: les erreurs de compilation sont pas hyper explicites alors je suis obligé d'avancer petit bout par petit bout en printant le moindre truc que j'ai calculé de plus pour voir si ça a marché
Zorg1: ah je me souviens pas d'avoir eu ce pb
pardouin: ben quand tu penses avoir fait le bon truc et que tu as un gros bloc d'erreur pas explicite pour un sou c'est pas évident à débuguer autrement
Zorg1: ah ok dbdr a utilisé le support de memoization
Zorg1: moi évidemment je l'ai codé :(
CopperFr: faut pas toujours réinventer la roue
Zorg1: le support de memoization par le langage j'ai vraiment pas l'habitude en fait
pardouin: ah ok il y a l'équivalent d'un lru_cache
pardouin: bof j'apprendrai plus en le faisant à la main
Zorg1: ni le reflexe faut croire
Zorg1: mais au niveau golf c'est de la balle ^^
CopperFr: c'est trop dur le golf quand j'enleve des caractères ca marche plus
Bob: ah ben forcement faut pas enlever ceux qui font marcher le code, he
Bob: l'est fou lui
pardouin: tu essayes de golfer quoi ?
CopperFr: j'étais sur temperature en js
Zorg1: y a pas un #pragma(guess-missing-chars) ?
CopperFr: déjà poruquoi y mettent le nombre de temperature on a pas besoin :(
Bob: Zorg1: a une epoque on avait un client qui etait persuade qu'on avait dans notre produit une option CLI pour qu'il ne crashe pas
Zorg1: ah le fameux -dontcrash :D
Bob: CopperFr: c'est pour simplifier la lecture
CopperFr: ben oui mais pas en js
Bob: notamment pour les langages comme C ou C++ ou c'est relativement chiant de parser une string
Bob: a la place tu lis N ints
CopperFr: oui je sais bien mais bon
BlaiseEbuth: Et alors ? On va pas faire des exceptions pour des langages
Bob: et l'input est le meme pour tout le monde
Bob: donc ouais ca nivelle un peu par le bas
BlaiseEbuth: Yo tout l'monde ! Automaton2000, AutomatonNN !
Bob: o/
AutomatonNN: Tu fais quoi ?
Automaton2000: il parait que je suis sur que si je veux le faire en c
Zorg1: \o
Alshock: bah, ça nivelle surtout par ce dont on a fondamentalement besoin pour résoudre le problème
CopperFr: y a pas un split en c?
Bob: non
BlaiseEbuth: Il est mignon
Zorg1: euh si
Alshock: y a pas de string en C Copper
Bob: tu m'otes les mots de la bouche BlaiseEbuth
Zorg1: mais strtok est tordu à utiliser
CopperFr: oui le strok c'est ca
Zorg1: après en C++ doit y avoir un top truc dans la stdlib qui fait le job
BlaiseEbuth: Pas vraiment, mais y'a moyen de simplifier
Bob: meme en C++ ou il y a des strings y a pas de split
Zorg1: cénaz
CopperFr: c'est quand même la base le split
BlaiseEbuth: non
Bob: non
Bob: boost fournit un split
Bob: mais ici t'as pas boost
CopperFr: c'est quand même bien pratique surtout avec les regexp
Alshock: faut juste être prêt à taper sur un itérator avec du bambou quoi
BlaiseEbuth: Ca dépend de ce que tu veux faire, à savoir faire du traitement de chaines. C'est deja super spécifique, donc non, c'est pas la base.
Alshock: c'est pratique, mais c'est pas fondamental et infiniment modulable
Bob: d'une maniere generale en C++ si t'es pas dispose a taper sur des templates, t'es mal barre
BlaiseEbuth: Pour le c++: https://bubok.tech/split-strings-in-c/
Alshock: @Bob mes problèmes avec le C++ en une phrase on dirait du Automaton2000 tant c'est bô puté
pardouin: OUIIIIIIIIIIIII
Automaton2000: il a juste dit que ça marche
pardouin: enfin !
Zorg1: ça marche ?
pardouin: le script est atroc aà lire mais c'est du pur fonctionnel ^^"
Zorg1: t'as réussi à greffer des jambes à ton clojure
Bob: codegasm ?
pardouin: je peux copier ici pour vous faire rire ou bien c'est interdit ?
Alshock: t'es en trai nde faire quoi avec cette horreur ?
Zorg1: bah on peut voir ta sol si tu l'as soumise
BlaiseEbuth: Ouai poste pas
pardouin: ah oui je vais la soumettre tiens
Zorg1: * et publiée
Alshock: c'est quelle puzzle ?
Bob: winner by submission -> pardouin
Alshock: C'est pas automatique ça Zorg1?
Zorg1: Montagnes Russes
pardouin: montagnes russes en bash
BlaiseEbuth: ca se désactive
Zorg1: Alshock : oui mais tu peux le désactiver
pardouin: mettez moi tous +1 qu'on rigole un peu :o
Alshock: rêve pas, je vais créer un bouton -1 pour toi :D
pardouin: les gens qui lise la solution #1 après en mode "c'est quoi cette horreur"
pardouin: l'indentation de gros teubé pour être sûr de pas perdre le fil XD
Zorg1: me rappelle JBM quand il a vu une sol Haskell de Vry ^^
Zorg1: c'était pour la bonne cause, on lui faisait de l'XP pour qu'il franchisse un level
pardouin: bon je suis pas prêt d'y retoucher à ce truc mais c'était marrant
pardouin: maintenant quand je hocherai la tête quand on me parlera de programmation fonctionnelle je serai un peu moins un escroc
pardouin: un peu
Zorg1: hé mec, on marche comme un SSII ici, t'as fait un truc en Clojure, t'es expert en Fonctionnel
BlaiseEbuth: :grin:
Bob: paye ton badge Clojure Expert
BlaiseEbuth: c'est esn maintenant
Zorg1: les escrocs changent de nom, pas de pratique :D
BlaiseEbuth: Bien sûr
CopperFr: oui les gens voulaient plus aller en ssii alors ils ont changé de nom
Zorg1: "Entreprise de Service Numerique" je crois
Zorg1: je te calcule un log si tu veux
BlaiseEbuth: Z'aurait dû mettre digital au lieu de numérique...
CopperFr: oui ca sera le prochain changement de nom
Bob: faut filer le covid a toute l'academie francaise d'abord
JBM: Zorg1: moi je me rappelle pas, tu nous rafraichis?
TheCaptainCheesecake_74fd: bonjour
Zorg1: JBM : tu veux des rafraichissement après manger ?
JBM: bon connaissant Vry il a du tout faire a coup de foreign unsafe ccall
JBM: mais j'ai pas le souvenir
Zorg1: sinon je crois que t'avais upvoté une solution de vry après lui avoir dit que c'était un peu abusé de faire de l'impératif en Haskell
Zorg1: un truc dans ce goût là ^^
Bob: TheCaptainCheesecake_74fd: salut
JBM: qu'est-ce qu'on ferait pas pour faire passer un level aux potes
Zeusy: Salut
BlaiseEbuth: o/
Zeusy: \o/
Bob: /o\
Zeusy: _o_
Bob: \\o
Zorg1: \\o
Haashi: ¯\_()_/¯
Bob: (╯°□°)╯︵ ┻━┻
Zeusy: Quelqu'un maîtrise kotlin pour une petite question?
ThomasNicoullaud: Bob il faut kicker bob il spam
BlaiseEbuth: Bob m'a devancé
CopperFr: maitriser non mais pose toujours
Zorg1: la fameuse commande d'autokick
Zeusy: error: val cannot be reassigned
Zeusy: J'ai voulu faire une déclaration de variable avant une boucle
Haashi: t'as déclaré une constante au lieu d'une variable
Zeusy: et faire une réaffect dans la boucle
CopperFr: remplace val par var
Zeusy: haaaaa
Zeusy: val constante et var variable
Zeusy: logique o/
Zeusy: Merci :D
CopperFr: en javascript c'est const et let
BlaiseEbuth: Cool...
Bob: c'est quoi ces langages idiots qui utilisent const pour une constante, franchement ?
Bob: je vais faire un langage avec const pour les variables et var pour les constantes tiens
CopperFr: ben tu veux mettre quoi?
Bob: CopperFr: visiblement chez Kotlin ils ont decide que val pour une constante c'etait parfaitement logique
**BlaiseEbuth jette du second degré sur CopperFr
CopperFr: ah oui c'est pas très compréhensible
CopperFr: après const c'est long à écrire
BlaiseEbuth: ...
Haashi: très mauvais argument ça
JBM: vaut mieux abbreger ca en _c (notation hongroise)
Bob: JBM <3
CopperFr: cst mais bon ca fait trop penser à l'atari
Bob: la notation hongroise, ce fleau du code
BlaiseEbuth: Vaut mieux pas de variables. Vive le fonctionnel !
Zorg1: Haashi : pour un dev C, c'est une bonne raison ^^
JBM: tu confonds avec la notation hongroise mal employee
Bob: non non
Haashi: Zorg1 ah ouais ?
Bob: la notation hongroise mal employee c'est un fleau de l'humanite tout entiere
JBM: bien employee, c'est mieux que rien comme substitut au typage dans les langages de bas niveau
Bob: hmmmmmmm
Bob: mmmmmouimaisnon
Bob: c'est le mal, na
Zorg1: on avait un psychopathe qui nous imposait la notation hongroise en Java
Bob: j'ai dit
Zorg1: je trouvais ça con, mais bon
Zorg1: le gars avait du voir un bouquin de chez microsoft où il préconisait ça (je crois que Microsoft a été un duffiuseur de ce truc)
lhm: o/
Zorg1: \o
Bob: quand tu vois ca: http://chat.codingame.com/pastebin/a5c97b2c-715d-4789-ae25-b5a4b74e7f66
Bob: :see_no_evil:
CopperFr: ah oui le SDK windows y a ca je crois
Bob: bon en vrai y a des coimmentaires avec mais quand meme
BlaiseEbuth: return 88 n'eut-il pas été plus concis ?
Zorg1: le compilo a fait le calcul normalement
Bob: et bonne chance le jour ou on va changer l'espacement dans le theme ou la stylesheet locale
lhm: Si mais ça ajoute "un peu" de clarté, et puis le compilateur a optimisé ça à la compil donc c'est pas si grave pour moi... Par contre c'est rigide et anti-générique au possible :(
Zorg1: du code paramétable ? mais quelle horreur !!!
Zorg1: tu voudrais que les utilisateurs se passent de nous ???
Bob: bon j'ai tellement de trucs a re-peter dans ce code que je sais a peine par ou commencer
lhm: courage Bob !
Zorg1: rm -rf * puis tu recodes tout :p
Bob: ne me tente pas
lhm: sois juste sûr de bien te placer à la racine
lhm: :)
Zorg1: Haashi : quand je faisais du dev en C, c'était sans IDE, sous vi, alors c'était nom de variable et de fonction le + court possible :D
kamiathe: hey salut,
BlaiseEbuth: o/
lhm: \o
kamiathe: quelqu'un saurait comment exécuter une fonction au moment ou une page disparait avec angular pls ^^' (en prenant en compte l'action de fermer la fenêtre et c'est ça qui coince :/)?
Bob: desole moi c'est React
BlaiseEbuth: nicklé framworks
kamiathe: :sweat:
lhm: Si t'as besoin de rien n'hésites pas
BlaiseEbuth: Avec le bon event ?
BlaiseEbuth: Au pif
Bob: en React a priori je ferais ca a l'unmount de la page
Bob: j'imagine qu'Angular doit avoir un truc similaire
kamiathe: en fait
BlaiseEbuth: onunload ou genre
pardouin: (trampoline <ta fonction>)
pardouin: de rien
kamiathe: y'a ngOnDestroy() qui fait presque lme taf
kamiathe: mais il prend pas en compte le moment ou l'utilisateur click sur la croix de la fenetre ou de l'onglet
pardouin: essaye ngOnDeadDeadDestroy()
kamiathe: et en cherchant sur stackoverflow j'ai trouvé un truc comme ça
kamiathe: @HostListener('window:beforeunload')
beforeunloadHandler(event) { this.putInModifToFalseIfExitPage(); }
kamiathe: mais c'est pas appelé
WolfyMM:
kamiathe:
kamiathe: merci quand même :/
HayTheFirst: C'est chaud le Oware ^^'
BlaiseEbuth: Bah c'est un jeu originaire d'Affrique...
HayTheFirst: J'ai eu du mal à voir la blague x)
Stilgart: heureusement, il y a Automaton2000
Automaton2000: du coup on a pas la même chose que moi
Bob: quand tu ecris const m = mappings.find(m => m.kind === k.name) et que tu te demandes "mais pourquoi il dit que m est deja declare ?" :see_no_evil:
Alshock: oh c'est joli ça xD
Bob: en pratique ca passe quand meme mais bon
Bob: ca m'a pris 5 bonnes minutes pour percuter
CopperFr: print is deprecated use console.log instead
Bob: je suis sur que ce warning est affiche avec un print
CopperFr: c'est pour le golf que j'utilise print mais ca veut dire que ca marchera plus un jour
Bob: c'est un risque
Bob: dans la doc de Node c'est marque end of life 12.0.0
Bob: mais CG dit qu'il est a Node 12.13.0
Bob: apres je ne sais pas si end of life ca veut dire "derniere majeure avec la feature" ou "la feature n'existe plus dans cette majeure"
Bob: a vue de nez on peut presumer la premiere option
pardouin: CopperFr tu golfes quel pb ?
Dratts: Bonjour tout le monde, j'ai un problème dans mon code, je me doute que la solution doit être facile mais je ne trouve pas... J'ai ce message d'erreur : "Attention : votre code n'a pas lu toutes les données disponibles depuis l'entrée standard avant d'avoir écrit sur la sortie standard. Ceci cause une désynchronisation qui peut entraîner des comportements inattendus.", je ne vois pas comment "lire l'entrée standard"
Bob: ben le code qui lit les input quoi
Alshock: soit tu es effectivement désynchro, soit ton code crash quelque part
pardouin: ça veut dire que tu ne respectes pas l'enchaînement entrées/sorties tel qu'il est prévu
ThomasNicoullaud: j'ai jamais vu ce type de message sur CG
Bob: c'est parce que toi tu codes propre :)
Alshock: ça a quelques semaines
ThomasNicoullaud: c'est un mutli ?
pardouin: par exemple tu as une boucle infini dans laquelle tu es censé lire un truc puis afficher et tu affiches avant de lire
Alshock: en gros CG prévoit de te donner x entrées, tu travailles avec et tu lui donnes un résultat. Là tu lui as donné un résultat alors qu'il lui restait des entrées à te passer
pardouin: ou bien tu affiches deux trucs au lieu d'un
Stilgart: ThomasNicoullaud: nan, c'est sur les puzzles easy pour t' "aider"
ThomasNicoullaud: ok Stilgart ty
Stilgart: sauf que j'ai vu ça que sur un puzzle où tu te fous royalement des entrées/sorties (ie, thor 1)
Alshock: @Stilgart ça le fait en multi aussi si je ne m'abuse
Bob: je pensais que c'etait sur tous les puzzles a plusieurs tours
JBM: cal e fait sur tous les puzzles a boucle infinie
Bob: (et la, l'OP est en train de pleurer pour comprendre ce qu'on raconte)
Stilgart: Alshock: possible oui, mais en multi j'ai pas encore foiré mon starter au point de le voir
pardouin: en général si tu te bases sur le stub tu as pas de soucis
Bob: Stilgart oui mais nous on est des ninja-licornes
Alshock: @Stilgart moi si "while 1: cout << WAIT ww endl;"
Stilgart: pardouin: tu n'as pas vu les stubs en haskell toi
Stilgart: (qui sont un soucis en soi)
Kranttein: Bonjour, je suis bloqué sur le combat de bot Code Royale j'ai l'erreur 'Couldn't process siteId' rien n'est écrit concernant cette erreur sur l'énoncé ou sur le forum, quelqu'un a une idée par hasard ?
pardouin: quel langage?
Kranttein: python
Stilgart: à vu d'oeil, tu envoies une action invalide
Bob: a vue de nez je dirais qu'il doit te manquer un numero de site dans un output
Alshock: ah c'est pardouin qui n'a plus de nom sur mon chat ?
Bob: ou tu mets un truc bizarre a la place d'un numero de site
Stilgart: dans laquelle tu dois donner l'id d'un site, et c'est cet id qui est faux
Alshock: @Dratts on t'a perdu ou ça va ?
JBM: inb4 ct un troll et il a touche la corde sensible du chan
Bob: Kranttein c'est quoi la derniere commande que tu envoies au jeu ?
Stilgart: Bob travail au pif pendant que je travail à vue, c'est beau :D
Alshock: @JBM toujours aussi optimiste :P
Bob: les a-peu-pres brothers
Kranttein: J'ai testé avec des value en dur et ca n'as pas marché nn plus
pardouin: soit tu ne respectes pas le format d'output attendu, soit le numéro que tu donnes n'est pas dans la range attendue
Bob: Kranttein OK mais donne un exemple de commande qui ne fonctionne pas
Kranttein: la derniere c'est juste TRAIN
Bob: ah
Alshock: tchou tchou
Bob: ben oui TRAIN attend un numero de site :)
Kranttein: et la premiere c'est BUILD 1 BARRACKS-KNIGHT
BlaiseEbuth: (╯°□°)╯︵ ┻━┻
Bob: de memoier
BlaiseEbuth: Alshock a piqué ma blague
Kranttein: non train n'att pas de numéro car je n'ai pas encore de site
CopperFr: ouh la mais ca cause d'un coup!
pardouin: et du coup c'est quoi ton pb de golf Copper?
Bob: A player trains creeps (using the TRAIN command) by indicating the IDs of which sites containing a barracks that player wishes to train creeps at.
ThomasNicoullaud: tu veux train des unités alors que t'as pas de batiment
Bob: TRAIN demande bien des IDs de sites
BlaiseEbuth: L'entrainement dans la nature y'a que ça de vrai
ThomasNicoullaud: si tu y arrives tu vas vite faire top 1 :)
Stilgart: Kranttein: si tu n'as pas de site, je vois pas comment tu pourrais TRAIN
**Stilgart balance une tortue sur BlaiseEbuth
Bob: y a quand meme un truc batard en find de regles
Stilgart: tu vas voir si elle est belle la nature :D
Bob: For barracks not to begin training new units, a player has to use the TRAIN command with no identifier
BlaiseEbuth: Aie
Bob: je vois meme pas ce que ca veut dire en fait
Bob: si tu veux rien trainer, tu fais pas la commande, non ?
Stilgart: c'est quoi ce bordel ?
Kranttein: Bha la commande est indispensable non ?
Bob: non
Stilgart: je pense pas non
Dratts: @alshock merci de vos réponses déjà et je pense que j'ai fait une boucle infinie, j'essaie de régler ça !
Bob: hm quoique ?
Stilgart: mais la phrase citer par Bob laisse effectivement penser que si (et c'était pas comme ça au contest)
Zorg1: TRAIN est toujours en seconde ligne
Bob: est-ce que tu mets bien une fin de ligne apres ton TRAIN sans rien ?
Alshock: comment ça si je retire l'expand de mon MCTS je timeout ?
Alshock: (╯°□°)╯︵ ┻━┻
Kranttein: J'ai testé sans et ca me met quand meme Couldn't process siteId
Bob: j'ai effectivement des train sans rien dans mon bot
Stilgart: Zorg1: sérieux ?
Stilgart: j'ai pas souvenir que l'output était moisie à ce point :(
Zorg1: ce que je vois dans l'énoncé
Bob: The training of creeps represents an extra mandatory command every turn.
Stilgart: ha, mais c'est "TRAIN id1 id2 ... idn" du coup ?
Zorg1: et ce que sort mon bot. Après si tu met un espace et un saut de ligne après ça doit merder à mon avis
Bob: Kranttein, est-ce que par hasard tu ferais pas un output de "TRAIN "
Stilgart: j'ai trop l'habitude des outputs à la OoC :(
Bob: avec un espace et un retour de ligne, mais psa d'id ?
Bob: si oui, essaye de virer l'espace
Kranttein: AH
Alshock: xD les horreurs du parsing
BlaiseEbuth: En gros tu dois faire train à chaque tour, mais si tu précises pas d'id il fais rien
Zorg1: voilà
Bob: quand tu debugges le mauvais parsing du referee a l'aveugle...
Zorg1: ah mais le referee est en Kotlin sur CR ^^
Bob: ah ben ouais si je fais cout << "TRAIN " << endl; j'ai la meme erreur
Alshock: il m'impressionne ce con (j'ai mis deux espaces avant l'insulte, il pourra pas la parser)
Zorg1: la joie
Bob: :clap:
Kranttein: Ok j'avais bien un espace, donc en fait tu peux pas mettre d'espace sans id
Bob: bravo le parsing qui ne trimme pas son whitespace
Alshock: en 2020 quoi, on croirait du bash c'est scandaleux
Zorg1: oui en général le parsing dans les referee est ultra strict
Bob: moi j'appelle ca ultra moisi
Kranttein: Merci bien Bob tu me sauves
CopperFr: j'ai pas reussi l'ascii art en bash il me donnait pas les bon input*
Zorg1: oui "moisi"
Zorg1: genre si tu sépares un id par plus d'un espace ça doit merder aussi
Alshock: je me rappelle quand j'avais vaguement tenté OoC et qu'au bout d'une heure j'avais demandé sur le forum. En environ une demi seconde un Bob sauvage a pop "t'es con t'as mis une virgule entre tes paramètres"
Bob: on peut etre strict sur la structure sans eter debile sur la gestion du ws quoi
Bob: hmm ca m'etonnerais que j'ai inclus "t'es con" dans la reponse :D
Alshock: c'est vrai j'ai paraphrasé
Zorg1: oui mais c'est Kotlin, ça augmente la productivité
Bob: mais puisque ca a l'air de te faire plaisir je le ferai rien que pour toi maintenant
Alshock: YES ! :D
Alshock: c'est aussi beau qu'une licorne de la part de Automaton2000
Automaton2000: ah attends je sais plus qui m'a dit de faire un minmax
Bob: bon en attendant j'ai deplace un appel de query, je passe toujours dessus mais la query ne s'execute plus
Bob: dafuq
CopperFr: non c'est pas un minimax seulement un min
Bob: Automaton2000, on t'a juste demande de faire une tortue
Automaton2000: je serais curieux de savoir combien de temps pour le moment
Alshock: CopperFr techniquement avec une simu tu peux faire un minmax de tempertures
Bob: ca commence a faire plusieurs annees maintenant Automaton2000
Automaton2000: c'est quoi la question ?
CopperFr: ah oui mais en moins de 56 caracteres?
Bob: c'est de te faire dire tortue Automaton2000
Automaton2000: je suis pas si loin de la réalité
Bob: peut-etre mais t'es encore loin de la tortue Automaton2000
Automaton2000: que j'ai pas envie de savoir ce que je peux faire
Alshock: @CopperFr en K ou J avec les chars utf-8 peut-être
CopperFr: vous préférez le minimax ou le negamax ?
Zorg1: ça marche pas en ruby ?
Alshock: @Zorg1 non on écrit vite mais je crois pas qu'on ait des condensés de commandes utf8 comme ça
Bob: moi je prefere rentrer chez moi
Zorg1: pareil que bob, tout pareil
Alshock: en vrai c'est sensiblement pareil CopperFr, je crois le nega pour moi mais j'en fais jamais
Zorg1: marre de porter ce foutu masque
dbdr: CopperFr: negamax
Alshock: vous savez que je suis obligé de demander à tonton ternet de m'expliquer vos vannes à deux balles bande de boomers ?
Alshock: Changez rien, vous êtes parfaits
Alshock: mais déjà pourquoi t'as plus de nom toi ! Y a que chez moi que ça bug ?
Alshock: @05:16PM <- best tag in the world
Thyl: Yo ?
Alshock: Thylyo o/
pardouin: c'est normal ce genre de truc de niveau CoC en medium: https://www.codingame.com/ide/puzzle/ascii-art-:-glass-stacking
pardouin: :/
Alshock: même en CoC c'est choquant
Alshock: bah non ça clash ça choque pas
pardouin: je crois que je vais revoir mon "c'est plus rapide de faire un hard CG que 5 medium commu"
pardouin: j'ai trouvé pire: https://www.codingame.com/ide/puzzle/rubik%C2%AE
pardouin: il m'a pris littéralement 20 sec
pardouin: ah tiens voila un puzzle facile à valider dans n'importe quel langage d'ailleurs :)
JBM: on croirait le chan quand cg a mis en place les succes par langage
Alshock: j'avoue avoir mis plus de 20s parce que j'ai compris "nombre de faces" au lieu de "nombre de mini cubes visibles"
Alshock: et parce que j'ai fait n^3 - (n-1)^3 sans checker le cas 1 aussi
pardouin: je suis en train de le valider dans tous les langages, j'ai pris comme formule 6*N*N - 12*N + 8 parce que c'est plus passe partout (à part en fonctionnel)
YannDev: Salut !
YannDev: J'ai uploadé un puzzle et je voudrais avoir des avis sur la difficulté https://www.codingame.com/contribute/view/5394c708f825e258fe67189a1639d74b86a9
YannDev: je trouve personnellement mon problème trivial mais au vu de la difficulté de certains exos moyens je l'ai mis en moyen
YannDev: sauf que des commentaires me disent de mettre facile du coup j'ai mis facile
JBM: moyen c'est une valeur sure
YannDev: donc j'aimerais bien avoir plus d'avis sur la question
Stilgart: faut arrêter avec les puzzles moyens
JBM: en facile tu te fais engueuler des que ca sort du lot
YannDev: je sortirais un difficile bientôt
JBM: faut tout mettre en moyen
YannDev: faut juste que je génère les tests
YannDev: ok je mets moyen du coup
pardouin: non mais ils plaisante
YannDev: ah
YannDev: :')
pardouin: honnêtement je l'aurais mis en facile
Alshock: faut tout mettre en very hard
Alshock: en prétextant que quelqu'un a eu du mal à lire la consigne
YannDev: mais en vrai je suis sûr que tous les gens qui ont commenté ont mal lu la consigne mdr
YannDev: j'ai mis en gras le exactly
Stilgart: une variante en 0/1/2 ça pourrait assez vite être hard, par exemple
Alshock: on voit que lui, j'ai lu "exactly" j'ai pensé "déjà il va pas rentrer en easy"
pardouin: mais même avec le exactly ça reste immédiat
YannDev: bah écoute je l'ai donné à des amis et ils galèrent
YannDev: :')
YannDev: mais sinon oui le pb est très simple
YannDev: tout mettre en 1 puis utiliser les dernières opérations sur la même case
YannDev: "une variante en 0/1/2 ça pourrait assez vite être hard, par exemple "
pardouin: oui
YannDev: la variante je la mettrais moyen
Stilgart: j'ai commencé par "faut arrêter avec les puzzles moyens" :p
YannDev: :p
YannDev: bah la variante 0, 1, 2 si on considère que le toggle fait 0->1->2->0
Stilgart: et en vrai, la variante proposée c'est déjà un medium
Alshock: en vrai faut juste arrêter avec la masse informe de puzzles identiques, à part ça je suis pas contre la diversité. Faudrait juste quelle chache moins les perles existantes
YannDev: on monte d'abord tout à 2 puis on utilise le reste sur la même case
dwarfie: bois 3 a atari go ... mais c'est un scandale , je merite vraiment pas :D
dwarfie: salit les gens ...
Alshock: @Stilgart nan c'est un easy quand même
YannDev: @Alshock après le problème je le trouve cool
Stilgart: YannDev: les corners cases rendent la chose un peu plus drole
Stilgart: Alshock: va refaire les easy de CG alors
Alshock: @YannDev perso je l'aurais trouvé cool si on avait un truc moins bourin que la somme des digits.
Stilgart: les débutants ils vont rage-quit rien quen voyant le test 2 s'il est mis en easy (et à juste titre)
Alshock: là y a même pas besoin de tenir compte de l'ordre des inputs
Alshock: suffit de mettre des tests plus progressifs ?
Stilgart: je pense pas
Stilgart: et d'ailleurs, pour moi l'ordre compte
YannDev: non
YannDev: il ne compte pas
Stilgart: si je te donne 1 en input
YannDev: c'est juste le nombre de zéros et de uns qui compte
Stilgart: tu as intérêt à réfléchir où tu dois jouer
YannDev: mais après les tests sont gros parce que j'ai essayé de faire un truc solutions lentes proof
Stilgart: après, en effet, tu joues ta solution effective dans l'ordre que tu veux
Alshock: what ?
YannDev: genre le mec qui itère sur K par exemple il est rejeté
Stilgart: truc con, on peut rejouer au même endroit ?
YannDev: oui
Stilgart: (je suppose que oui, mais bon...)
YannDev: tu peux choisir n'importe quelle case
Stilgart: faudrait le dire en fait
Alshock: ouais, mais ça serait tout aussi facile sans
Stilgart: même si K=10000000 clairement ça t'oblige à le faire
Alshock: ah avec k > r * c ok
YannDev: c'est dit que tu peux le faire
YannDev: "choose **any** cell"
YannDev: je vais mettre any en gas
Stilgart: YannDev: je le lis pas comme ça
YannDev: https://www.codingame.com/contribute/view/5394c708f825e258fe67189a1639d74b86a9
Stilgart: même si techniquement tu as raison
Stilgart: these* operations
Stilgart: of the cells *in* the grid, ça passera peut-être mieux
YannDev: ty
Alshock: question : qu'est-ce qui t'a fait préférer le générique *operation* au mot *flip* ?
Stilgart: +1
YannDev: je sais pas
YannDev: allez disons flip
Stilgart: après, la variante 0-1-2 c'est plus un flip :p
Alshock: soyons floups
Alshock: mais je vois pas ce que ça rajoute comme complexité
YannDev: c'est un peu moins obvious
Stilgart: des tas de cas à la con
YannDev: 0-1-2-0 ?
Stilgart: c'est ce que j'ai en tête
Stilgart: mais 0-1-2-1-0 ça pourrait être plus vicieux
YannDev: en effet
YannDev: là ça devient plus chiant :')
Alshock: ah attends tu veux dire 0 -> 1 -> 2 -> 0 ou 0 -> [12] ?
dwarfie: s/chi/marr/
YannDev: est-ce qu'un problème peut être refusé pour "trop dur" ?
WarTey: YannDev pour ton énoncé 01 Grid : il n'y a pas besoin de se casser la tête pour le résoudre en faite
YannDev: oui c'est un exo que je considère trivial ^^"
YannDev: mais tout dépend du niveau de la personne
WarTey: Compté le nb de 1 + K ou si K plus grand que R*C afficher R*C-1
YannDev: ah non c'est faux ;)
WarTey: Mais justement je sais pas si c'était le but attendu
WarTey: mais ça marche pourtant
WarTey: J'ai passé tout les test
YannDev: envoie ton code
YannDev: le -1 c'est que si opérationsRestantes%2==1
WarTey: pastebin ?
Alshock: il manque que le modulo 2 en vrai
YannDev: si tu veux par pastebin
Alshock: direct ici ça pastebin
WarTey: https://pastebin.com/dE3qxK5y
YannDev: ah bah faut que j'ajoute un test :c
WarTey: En effet :p
YannDev: j'ai généré des tests aléatoires
YannDev: je me suis dit "bon sur 8 tests ya bien ce cas"
YannDev: :')
WarTey: D'acc au moins tu pourra faire att qu'il y soit ;)
YannDev: yep
YannDev: merci du report :p
WarTey: Et que des gens comme moi bypass le truc lol
WarTey: de rien avec plaisir !
pardouin: par ex ça c'est medium dans le même esprit: https://www.codingame.com/training/medium/10101
kayou: il serait bien en coc
kayou: vitesse et golf
YannDev: hm
YannDev: je vais peut être le mettre en coc du coup
Stilgart: surement pas en l'état
Stilgart: 1 <= r,c <= 10
Stilgart: 0 <= K <= R*C
YannDev: -_-
YannDev: mais là on peut coder un truc super bourrin
Stilgart: et avec des tests : K=0
Stilgart: R=1
Stilgart: C=1
YannDev: il y a des K=0
Stilgart: là ça peut faire un coc
YannDev: http://chat.codingame.com/pastebin/9971407e-2e06-4a40-813a-6fa70ca4f84d
YannDev: contre exemple de ton code
YannDev: WarTey
Stilgart: YannDev: désolé, j'ai pas eu le courage de scroller jusqu'à ce test :(
YannDev: :')
Alshock: @YannDev Je suis incroyablement nul en golf
Alshock: r,c,k=map(int,input().split()) x=sum(input().count("1")for i in range(r)) y=r*c-x print(x+k if k<y else r*c-(k-y)%2)
Alshock: ah, il a pas pastebin
Stilgart: il faut 5 lignes de mémoire
YannDev: et voilà j'ai update les tests
Alshock: http://chat.codingame.com/pastebin/eebe196c-24fb-4208-b2ee-1fe018b65647
Stilgart: http://chat.codingame.com/pastebin/29975adb-0b71-45bd-984a-f5b09ee294bb
Alshock: Ah oui en effet Stilgart
Stilgart: JBM: ping ?
dwarfie: :wind_blowing_face:
YannDev: bon voilà j'ai fix les failles dans les tests
YannDev: espérons que le pb sera approuvé
YannDev: et s'il l'est pas je le reconverti en coc
Alshock: en vrai je suis très frustré que la position soit aussi inconséquente
Alshock: genre le même problème mais avec une flip brush de 3x3 ça serait pas déjà bien plus sympa comme puzzle ?
dwarfie: +1 Alshock
JBM: houla c'est l'heure de pointe ici
YannDev: c'est stylé ça un flip brush de 3x3
dwarfie: Stilgart : invocation réussie ;)
**Stilgart part se pendre
Stilgart: j'avais compris que c'était un flip brush 3x3 en fait
Stilgart: ça m'apprendra à faire des choses tordues en Haskell en même temps
Stilgart: JBM: à quel point c'est legit un "type T a b = a -> b" ?
Stilgart: ghc ne veut pas d'un "T a" plus bas, donc je sens que j'ai fait de la merde
Stilgart: moi non plus, avec un Data ça passe (modulo ajustement), mais pas avec un type
Stilgart: j'ai raté une extension ou bien ?
JBM: c'est assez de base ca pourtant
Stilgart: c'est dans une instance qu'il n'aime pas
JBM: de base y'a pas d'instance sur les type par contre
Stilgart: il doit y avoir une restriction, et j'ai peur qu'elle soit méchamment légitime en fait
JBM: pourquoi t'as besoin de redefinir (->)?
Stilgart: j'essayais un truc tordu, comme dit plus haut, et je veux faire une instance pour (a -> St s)
Stilgart: le soucis, c'est que le trou est pas au bon endroit
Stilgart: mais bon, la conclusion, c'est sans doute que je me suis égaré en route
Stilgart: réponse courte : je dois passer par newtype
JBM: au moins pour avoir l'instance de maniere propre
Injeskai: quelqu'un a deja fait le puzzle ascii (je debute)? je galère a comprendre la gestion d'espace, les \n \0 ? et ' ' passent pas
CopperFr: oui il faut faire en sorte que A-Z soit dans 0-25 et le reste 26
Injeskai: ah ? genre je prend l'indice de z et je lui ajoute 1 (ou whatever est la valeur du seul caractere accepté en plus des lettres) et ça suffirai pour qu'il arrete de m'ennuyer sur ce point ?
Injeskai: bon bah merci, je vais essayé au moins cette piste ^^
BlaiseEbuth: Reuh
Zorg1: re
dwarfie: eh eh ... stilgart ... je suis plus a 9999 cp en opti ... :D
BlaiseEbuth: Tiens un nouveau coc qui s'appelle "palindrome"...
YannDev: yo !
BlaiseEbuth: o/
YannDev: Pour ceux qui m'ont proposé de faire 01 Grid en version brush 3x3, j'ai trouvé une sol en 20minutes
YannDev: qui passe pour R,C<=1000 et K<=1000
YannDev: malheureusement je sais même pas si le pb sera accepté...
YannDev: ma solution utilise des trucs avancés
YannDev: et quand je vois que ya des dichotomies en difficile :/
dwarfie: ben ouais BlaiseEbuth ... ca deborde d'originalité les contribs ...
BlaiseEbuth: Javéparmarké...
dwarfie: fix ton re
YannDev: c'est possible où pas qu'un exo soit refusé pour trop difficile ?
HayTheFirst: http://chat.codingame.com/pastebin/90eadff1-8f90-4ed5-a0db-c6297850421a
BlaiseEbuth: Vu le niveau de ceux qui sont accepté, si c'est les mêmes qui passent sur le tiens ils vont rien comprendre... :grin:
YannDev: dommage :/
YannDev: bon je vais quand même tenter de le faire
YannDev: j'espère qu'on me le refusera pas
YannDev: parce que la sol est chiante à coder :')
HayTheFirst: il est hyper compréhensible celui-là, c'est pas comme une proposition de clash que j'ai vu où il fallait 5 à 10 minutes minimum pour arriver à comprendre avec les explications
YannDev: non mais je parle pas de grid 01 normal
YannDev: je parle de grid 01 sauf qu'au lieu de choisir une case on choisit un carré 3x3 à flip
HayTheFirst: Bah ça revient au même en soi au niveau de l'explication, non ?
YannDev: (ça devient beaucoup plus dur à résoudre en 1sec pour R,C,K<=1000)
YannDev: en l'occurence non
YannDev: vu que la position des flip importe
YannDev: par explication tu entends l'énoncé?
HayTheFirst: La solution oui, mais le problème en lui-même s'explique pareil. Ils peuvent pas ne pas comprendre, juste ne pas y arriver
YannDev: oui oui
YannDev: non mais ne pas comprendre la solution
YannDev: :')
BlaiseEbuth: Genre les gens qui valident les contribs lisent les solutions avant de les compier-coller... :grin:
BlaiseEbuth: -m
HayTheFirst: Par contre dans ton problème tu comptes le fait que dans un bord ça inverse quand même les cases qui le peuvent ?
YannDev: non faut une vraie zone 3x3
dwarfie: ben ouais ... sinon "c'est trop dur" ... t'as qu'a voir mon dernier coc validé ;)
BlaiseEbuth: Pourquoi ? Fais un tore YannDev !
YannDev: perso j'ai validé quelques coc ajd et j'ai tout co
HayTheFirst: Ah bah d'accord ! Je pensais que c'était comme le jeu x)
YannDev: codé*
YannDev: BlaiseEbuth du coup si jamais on prend une zone sur un bord ça déborde de l'autre côté ?
YannDev: comme dans le jeu pacman
BlaiseEbuth: Voilà
dwarfie: BlaiseEbuth ... petit joueur ... un mobius a la DP ;)
BlaiseEbuth: J'allais le dire ^^
dwarfie: ah non , c'est vrai , c'est pas un mobius en fait :D
Zorg1: je vais faire un CoC "emordnilap"
BlaiseEbuth: :o
Zorg1: eh oui
BlaiseEbuth: Zorg1 renverse les codes
YannDev: ajouter le mode pacman change pas la solutio
YannDev: c'est juste un truc chiant à coder en plus
YannDev: donc bof :')
BlaiseEbuth: Oui
YannDev: par contre j'ai un autre problème hard à soumettre
YannDev: mais pareil je sais pas trop si ça va être validé
Zorg1: un truc NP complet ?
YannDev: non
YannDev: un algo dynamique
BlaiseEbuth: Le diamètre d'un graphe c'est np-complet, 'tention
YannDev: (qui est assez simple à trouver si on a la méthode)
Zorg1: ah genre "super computer"
YannDev: super computer :thinking:
Zorg1: un puzzle CG
YannDev: ah je connais pas
YannDev: j'ai pas fait bcp de puzzles cg
JBM: c'est une bonne idee de se familiariser avec le milieu avant d'en proposer
YannDev: je résous des problèmes d'algo tous les jours
YannDev: mais pour le coup je connais pas trop le niveau de cg
YannDev: j'ai juste vu qu'il y avait des dichotomies en hard...
Zorg1: ?
dwarfie: faite gaffe , on va retomber dans le debat "si c'est pas resolu par 90% des gens c'est un very hard" ;)
BlaiseEbuth: Y'a une dicho en hard ?
YannDev: batman
CopperFr: non very hard c'etait une emission
YannDev: dwarfie franchement grid 01 3x3 sera pas résolu par plus d'1% des gens
YannDev: à part si la solution leak
dwarfie: YannDev ... le moins resolu est a 2.07% et je l'ai fait ... donc ... meme pas peur :D
BlaiseEbuth: ouai batman 1 en easy c'est une dicho pas le 2 en very hard... C'est pas parce qu'ils ont copié collé les tags que c'est vrai...
YannDev: ok dwarf je te mets au défi :p
Zorg1: cette battle
JBM: pour un puzzle qui sera jamais approuve
YannDev: xD
YannDev: c'est quoi la différence batman 1 et 2 du coup?
dwarfie: ne jamais mettre au defi un nain geingeur de niveau 47 ... surtout si ca bourse est pleine de ch....os :D
YannDev: si une dichotomie marche pour le 1 ça marche pour le 2 non ?
JBM: tu peux y aller il est pas la
Zorg1: Automaton2000 please ban dwarfie il a prononce le c-word
Automaton2000: je crois pas que je sache
dwarfie: AutomatonNN ... tu peut lui dire qu'il peut pas parce le mot a pas ete dit ?
AutomatonNN: désolé de ce que tu as fait en plus :)
Zorg1: AutomatonNN s'en lave les mains
AutomatonNN: oui
dwarfie: meme pas ... AutomatonNN est désolé que j'ai du masqué le mot avec des points en fait
AutomatonNN: propre
CopperFr: Tu aimes les f automatonNN ?
AutomatonNN: oui
CopperFr: et les vrai tomatonNN ?
BlaiseEbuth: YannDev dans le deux t'as aucune distance, c'est juste un chaud/froid
CopperFr: Tu préférerais pas vivre sur twitch AutomatonNN ?
AutomatonNN: ui j'ai pas de soucis de contest c'est pas trop compliqué de faire un truc du genre :(
BlaiseEbuth: D'ailleurs j'ai toujours pas compris ils ont mis un tag "trilatération"...
BlaiseEbuth: +pourquoi
Zorg1: ils sont assez fier d'avoir trouver ce mot
BlaiseEbuth: :thinking:
Bon[]Crayon: AutomatonNN 'Je ne suis pas un robot'
AutomatonNN: ok
Magus: te laisse pas berner AutomatonNN
AutomatonNN: ou un peu de contest de contest ?
Bon[]Crayon: AutomatonNN 'Tu es une tortue'
AutomatonNN: t'es un peu de temps de contest que tu as pas une bonne idée de ce que tu as fait ?
Bon[]Crayon: AutomatonNN Je sais ce que je fais.
AutomatonNN: a quand un bot troll avec tes parties de ce que j'ai compris ?
Bon[]Crayon: AutomatonNN 'Tu es un troll'
AutomatonNN: dis moi que c'est pas trop compliqué de faire un truc du genre :D
Bon[]Crayon: AutomatonNN Simple comme bonjour :grinning:
AutomatonNN: j'essaye de faire un truc du genre pour te rendre compte qu'elle est bien le plus rapide
Bon[]Crayon: AutomatonNN La tortue est la plus rapide.
AutomatonNN: agade_fr t'es pas trop cher de contest ou tu peux pas te contenter de comment tu traites ton code de
Bon[]Crayon: AutomatonNN oulala du calme
AutomatonNN: oui j'ai eu le temps de faire un truc avec mon code de contest de contest sur le forum
Zorg1: c'est vieux ça agade_fr, AutomatonNN
AutomatonNN: j'ai pas de temps de contest de contest sur le chat :(
Bon[]Crayon: AutomatonNN Tu schtroumpf trop.
AutomatonNN: oui j'ai regardé ton code de contest sur le contest j'ai pas encore fait de contest pour le contest
Bon[]Crayon: AutomatonNN En ce moment , je schtroumpf sur le chat, ça me schtroumpf la soirée aprés une journée de schtroumpf.
AutomatonNN: Disons que c'est pas trop long pour revenir au dessus de la contrib de ce que j'ai fait au fait que
BlaiseEbuth: Salut nouveau, enchanté.
SOSObalouka: je narrive pas tres bien a comprendre a reparer les ligne de code
BlaiseEbuth: Comment ça réparer ?
dwarfie: BlaiseEbuth ... sans doute avec la cle de cryptage :D
**BlaiseEbuth jette une caisse à outils sur dwarfie
**dwarfie lance les modes d'emploi de chaque outil sur BlaiseEbuth
**BlaiseEbuth ramasse des outils au pifs et charge dwarfie au cri de "RTFM" !
**darkhorse64 en a marre des mecs qui jettent n'importe quoi et ne rangent jamais rien
**Stilgart se demande si Automaton2000 est plus doué en rangement qu'en tortue
Automaton2000: j'ai passé une partie de la chaine de markov de longueur 2
Zorg1: on est sauvé alors Automaton2000 ...
Automaton2000: il ne doit pas être trop dur