Chat:Fr/2020-09-01

From CG community
Jump to navigation Jump to search

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

Default avatar.png oPyRuSo: yo

tekki: salut

Default avatar.png oPyRuSo: il y a un CoC qui donne 100% de tests ok, mais juste 80 de score... on previent qui dans ces cas la ?

Default avatar.png oPyRuSo: un feedback suffit ?

tekki: yo no sé

Default avatar.png oPyRuSo: ^

Default avatar.png oPyRuSo: oki, dommage, je n'ai pas noté le nom de l'auteur

Default avatar.png oPyRuSo: have a good day ! ;)

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

Default avatar.png JBM: comment es ton semaine

Bob: longue

Default avatar.png JBM: o/ Bob

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: ?

Default avatar.png 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

Default avatar.png JBM: bob eb avait un bon a recommander a une epoque

pardouin: ça m'a l'air pas mal pour commencer

Default avatar.png JBM: le terme generique common lisp pour ca est "destructuring bind"

Default avatar.png 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?

Default avatar.png JBM: npi?

Default avatar.png JBM: damned

dbdr: \o/

pardouin: (+ a b)

dbdr: non

Default avatar.png JBM: moi qui me disais "mmm, personne demande, allons-y"

pardouin: ce genre de truc ne me choque pas

Default avatar.png JBM: ah rpn

Default avatar.png 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

Default avatar.png JBM: reverse^2

dbdr: reverse reverse

Default avatar.png JBM: \o/

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

Default avatar.png JBM: en lisp?!

Default avatar.png JBM: ca c'est pas banal

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png JBM: oui

Bob: j'ai un into dans un coin pour ma mise en cache

Default avatar.png 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

Default avatar.png JBM: tiens au fait, t'as compris le delire de rec sur la negationisme des infinis hier?

Default avatar.png 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

Default avatar.png 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"?

Default avatar.png JBM: mmm ok

dbdr: c'est pour ça que j'ai parlé d'obscurantisme

dbdr: par hyperbole bien sur, et pour le troll un peu

Default avatar.png JBM: hehe

Bob: j'ai rien compris mais ca a l'air rigolo

Default avatar.png 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 ?

Default avatar.png JBM: non

Default avatar.png JBM: ou alors tu triplet unboxed

Thyl: Yo !

Bob: shi

Stilgart: on peut dire unboxed sur un type Machin = (Int, Int, Int) ???

Default avatar.png JBM: non

Default avatar.png 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

Default avatar.png CopperFr: Bonjour, vous préférez le swift ou l'objective-C ?

Default avatar.png JBM: oui

dbdr: non

Default avatar.png 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)

Default avatar.png JBM: ca coute rien

Bob: CopperFr, l'autre

Default avatar.png CopperFr: le kotlin?

pardouin: ahah j'ai fini de traduire, sans surprise ça ne complie pas, je vais m'amuser je sens ^^

pardouin: compile*

Default avatar.png 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 ^^

Default avatar.png JBM: c'est pas moi qui vais l'ecrire O:-)

Default avatar.png 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

Default avatar.png JBM: y'a go pour ca

Zorg1: pff

Default avatar.png JBM: desole

Default avatar.png CopperFr: avant c'était le basic le langage de débutant

Default avatar.png JBM: (mais c'est vrai)

Default avatar.png CopperFr: le python c'est pas si simple

Default avatar.png 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 ?

Default avatar.png CopperFr: peut-être je connais pas trop ce langage

Alshock: coucou tout le monde o/

Zorg1: \o

Bob: o/

Default avatar.png JBM: /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

Default avatar.png 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 :)

Default avatar.png 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"

Default avatar.png JBM: que je retrouve ce tween

Bob: on dirait un message d'erreur de PowerShell

Default avatar.png CopperFr: je pense qu'il faudrait revenir à l'algol

Bob: 68000 sinon rien #amigaVaincra

Default avatar.png 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

Default avatar.png JBM: t'as qu'a avoir le bon IDE

Default avatar.png CopperFr: faut pas gaspiller les variables

Bob: euh non

Bob: https://www.youtube.com/watch?v=KsQnJP8tNnA

Default avatar.png 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 ^^

Default avatar.png JBM: sage DI

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?

Default avatar.png JBM: qui a besoin de generiques quand t'as qu'a meta-programmer le truc exterieurement

Default avatar.png 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

Default avatar.png CopperFr: ou des jeux

Bob: bah y a aussi des jeux :)

Default avatar.png 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

Default avatar.png 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

Default avatar.png CopperFr: le cpc+ il a scrolling hard et 4096 couleurs :D

Default avatar.png CopperFr: je trollais je sais bien que le st c'est quand même plus puissant que le st

Default avatar.png CopperFr: que le cpc

Bob: ah non mais ici on est open a tous les avis hein :)

Default avatar.png 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 ^^

Default avatar.png CopperFr: c'est une faut de frappe

dbdr: 0 est un nombre positif...

Default avatar.png JBM: on a vu

Default avatar.png JBM: bien ironique pour le troll, d'ou soulignement

Default avatar.png JBM: 0 n'existe pas voyons

dbdr: ah mais oui bien sur

dbdr: l'ensemble des nombres positifs non plus

Default avatar.png CopperFr: -0 != +0

dbdr: vu qu'il est infini

dbdr: "il serait infini s'il existait"

dbdr: c'est dur d'etre cohérent avec ce discours

Default avatar.png JBM: ca me rappelle un SMBC

dbdr: :popcorn:

Default avatar.png JBM: ah retrouve https://www.smbc-comics.com/comic/how-math-works

dbdr: :D

Default avatar.png JBM: ca resonne un peu avec hamilton. d'ailleurs

dbdr: j'aime bien l'étape 3

Default avatar.png JBM: et la 4

dbdr: quel hamilton?

Default avatar.png JBM: j'en parlais hier

Default avatar.png JBM: mon blais prefere

dbdr: le 4 c'est du JBM ;)

Default avatar.png JBM: euh

Default avatar.png JBM: pourquoi?

dbdr: tu en as fait une hier

dbdr: what causes gravity

Default avatar.png JBM: https://www.youtube.com/watch?v=SZXHoWwBcDc

Default avatar.png JBM: ah oui lol

Default avatar.png JBM: j'avais oublie

Default avatar.png JBM: "I can only subtract and add back"

Default avatar.png Cryp3r: Salut! Y a t'il un moyen de déclarer le int le plus grand sans ecrire 2147483647?

Bob: en quel langage ?

Default avatar.png Cryp3r: en java btw ^^

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

Default avatar.png 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

Default avatar.png 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é :(

Default avatar.png 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 ^^

Default avatar.png 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 ?

Default avatar.png CopperFr: je sais bien

Default avatar.png CopperFr: j'étais sur temperature en js

Zorg1: y a pas un #pragma(guess-missing-chars) ?

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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

Default avatar.png CopperFr: oui le strok c'est ca

Default avatar.png CopperFr: :D

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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...

Default avatar.png CopperFr: oui ca sera le prochain changement de nom

Bob: faut filer le covid a toute l'academie francaise d'abord

Default avatar.png JBM: comment es ton re

Default avatar.png JBM: Zorg1: moi je me rappelle pas, tu nous rafraichis?

Default avatar.png TheCaptainCheesecake_74fd: bonjour

Zorg1: JBM : tu veux des rafraichissement après manger ?

Default avatar.png JBM: ouais

Default avatar.png JBM: bon connaissant Vry il a du tout faire a coup de foreign unsafe ccall

Default avatar.png 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à ^^

Default avatar.png JBM: ah ok ^^

Bob: TheCaptainCheesecake_74fd: salut

Default avatar.png JBM: qu'est-ce qu'on ferait pas pour faire passer un level aux potes

Zeusy: Salut

BlaiseEbuth: o/

Default avatar.png CopperFr: \o

Zeusy: \o/

Bob: /o\

Zeusy: _o_

Bob: \\o

Default avatar.png CopperFr: -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é

Default avatar.png CopperFr: maitriser non mais pose toujours

Zorg1: la fameuse commande d'autokick

Zeusy: error: val cannot be reassigned

Default avatar.png CopperFr: faut utiliser var

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

Default avatar.png CopperFr: remplace val par var

Zeusy: haaaaa

Zeusy: val constante et var variable

Zeusy: logique o/

Zeusy: Merci :D

Default avatar.png 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

Default avatar.png CopperFr: ben tu veux mettre quoi?

Default avatar.png JBM: o// </lag>

Bob: CopperFr: visiblement chez Kotlin ils ont decide que val pour une constante c'etait parfaitement logique

**BlaiseEbuth jette du second degré sur CopperFr

Default avatar.png CopperFr: ah oui c'est pas très compréhensible

Default avatar.png CopperFr: après const c'est long à écrire

BlaiseEbuth: ...

Haashi: très mauvais argument ça

Default avatar.png JBM: vaut mieux abbreger ca en _c (notation hongroise)

Bob: JBM <3

Default avatar.png 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 ^^

Default avatar.png 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

Default avatar.png 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

Default avatar.png JBM: tu m'ax convaincu

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:

Default avatar.png 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

Default avatar.png JBM: quelques #define plutot

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 :/

Default avatar.png HayTheFirst: C'est chaud le Oware ^^'

BlaiseEbuth: Bah c'est un jeu originaire d'Affrique...

Default avatar.png HayTheFirst: Oof

Default avatar.png 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

Default avatar.png CopperFr: print is deprecated use console.log instead

Bob: je suis sur que ce warning est affiche avec un print

Default avatar.png 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

Default avatar.png JBM: heureux les innocents

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

Default avatar.png JBM: cal e fait sur tous les puzzles a boucle infinie

Default avatar.png JBM: solo, multi, optim

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 ?

Default avatar.png JBM: pauvre bete

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 ?

Default avatar.png 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

Default avatar.png JBM: ma nature profonde

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png 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 ?

Default avatar.png 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

Default avatar.png CopperFr: vous préférez le minimax ou le negamax ?

Zorg1: ça marche pas en ruby ?

Default avatar.png JBM: le betamax perso

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

Default avatar.png CopperFr: le v2000 > betamax

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

Default avatar.png CopperFr: ben c'est normal

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

Default avatar.png JBM: fix it

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: :/

Default avatar.png JBM: depend de ton allegeance

Alshock: même en CoC c'est choquant

Default avatar.png JBM: tout coc est choquant

Default avatar.png JBM: par concept

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 :)

Default avatar.png JBM: on croirait le chan quand cg a mis en place les succes par langage

Default avatar.png Injeskai: nice je regarderai

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

Default avatar.png 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

Default avatar.png JBM: en facile tu te fais engueuler des que ca sort du lot

YannDev: je sortirais un difficile bientôt

Default avatar.png 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: :')

Default avatar.png JBM: tu crois?

pardouin: honnêtement je l'aurais mis en facile

Alshock: faut tout mettre en very hard

Default avatar.png JBM: j'en suis pas si sur

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

Default avatar.png 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

Default avatar.png JBM: euh moi ca me choque pas

Stilgart: moi non plus, avec un Data ça passe (modulo ajustement), mais pas avec un type

Stilgart: j'ai raté une extension ou bien ?

Default avatar.png JBM: c'est assez de base ca pourtant

Stilgart: c'est dans une instance qu'il n'aime pas

Default avatar.png 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

Default avatar.png JBM: faut genre TypeInstances

Default avatar.png 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

Default avatar.png JBM: au moins pour avoir l'instance de maniere propre

Default avatar.png 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

Default avatar.png CopperFr: oui il faut faire en sorte que A-Z soit dans 0-25 et le reste 26

Default avatar.png 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 ?

Default avatar.png 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 ?

Default avatar.png 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 :')

Default avatar.png 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

Default avatar.png 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é?

Default avatar.png 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

Default avatar.png HayTheFirst: Ouaip

YannDev: non mais ne pas comprendre la solution

YannDev: :')

Default avatar.png HayTheFirst: Ah x)

BlaiseEbuth: Genre les gens qui valident les contribs lisent les solutions avant de les compier-coller... :grin:

BlaiseEbuth: -m

Default avatar.png 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

Default avatar.png 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)

Default avatar.png JBM: lol

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

Default avatar.png 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 ?

Default avatar.png JBM: un hash-dicho

YannDev: batman

Default avatar.png 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

Default avatar.png 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

Default avatar.png JBM: 1

YannDev: si une dichotomie marche pour le 1 ça marche pour le 2 non ?

Default avatar.png JBM: tu peux y aller il est pas la

Default avatar.png JBM: logique imparable

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

Default avatar.png CopperFr: Tu aimes les f automatonNN ?

AutomatonNN: oui

Default avatar.png CopperFr: et les vrai tomatonNN ?

BlaiseEbuth: YannDev dans le deux t'as aucune distance, c'est juste un chaud/froid

Default avatar.png 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

Default avatar.png SOSObalouka: salut

Default avatar.png SOSObalouka: je suis nouvau

BlaiseEbuth: Salut nouveau, enchanté.

Default avatar.png SOSObalouka: mrc toi aussi

Default avatar.png 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