Chat:Fr/2021-04-28
philRG: refaire le FC2020 en C, purée la bonne idée.
philRG: o/
leojean890: faut être motivé hehe, mais ça peut payer grâce aux perfs:)
conadal: je bosse ma motivation du coup, et aussi ma mémoire ;-)
Julius2k17: salut, je vois que je suis pas le seul à remettre le couvert sur fall :D
leojean890: quel que soit le multi y'a tjr des gens qui passent dessus^^
leojean890: https://www.codingame.com/ide/puzzle/11-puzzle en A* c'est pas mal ça marche jusqu'à depth 25 pour les valideurs et depth 30 pour les tests.. ptet en changeant l'éval ça peut encore améliorer
Zorg1: tu le fais en python ?
leojean890: ouais, en fait ça fait 100% en bricolant l'éval :)
Zorg1: ok
leojean890: 2.5*score + depth ça passe mdr
leojean890: score => 16%
leojean890: score + depth => 66%
leojean890: 2*score + depth => 83%
Zorg1: c'est CSBesque ton truc ^^
leojean890: ouais, tuning de params xD
leojean890: on dirait un -3vel en effet^^
leojean890: d'ailleurs y'a TAN Network avec A* également que j'ai pas encore fait
Zorg1: je l'ai fait en Djikstra lui
nicola: Avec quelle distance ?
leojean890: ouais, faudrait que je le fasse:)
leojean890: nicola pour 11-puzzle mon score est la somme des distances de chaque case à sa case cible
leojean890: et du coup 2.5*score + depth => 100%
nicola: Pas con.
nicola: J’avais essayé avec un BFS→boum.
leojean890: BFS j'étais KO depth 10^^
leojean890: euh non ça passait depth 10 avec hash
leojean890: ça passait que depth 5 sans hash
leojean890: conseil de b0n5a1 hier soir => faire A*
nicola: Comme indiqué dans les compétences du puzzle.
leojean890: après niveau éval je voyais rien d'autre que les distances à la cible
leojean890: je suis obligé de faire un sys.setrecursionlimit(1000000)
nicola: Pas besoin de récursivité pour un Dijkstra.
leojean890: voilà j'ai partagé mon code tout sale^^
leojean890: Dijkstra faudra que je teste, je ne l'ai jamais utilisé:)
Butanium: Vous pensez que c'est une bonne idée de faire un playground pour montrer comment on peut extraire des donner d'un stub pour un défi multijoueur?
leojean890: => TAN network^^
Butanium: Après avoir fait tester le jeu à des proches j'ai l'impression que les inputs sont parfois dur à comprendre
nicola: C’est programmable même sur une calculette de poche.
leojean890: ah ok, c'est donc pas le plus complexe:)
leojean890: Butanium comment on peut extraire des donner d'un stub pour un défi multijoueur => pourquoi pas ^^
nicola: À l’époque, je l’avais programmé sur une Ti avec le langage maison.
leojean890: t'es motivé xD
nicola: C’était pour des TES.
nicola: Bof, un jour de jury de bac où je me faisais tartir.
Zorg1: tartir ?
nicola: Ièch
Zorg1: ah ok
NinjaAuntieOfWisdom_b4c6: salut les pd
Zorg1: leojean : je croyais que A* c'était une variation deDjikstra
Nagatwin: C'est une variation suivant ton implémentation
Hubcan: Coucou
NinjaAuntieOfWisdom_b4c6: T qui toi
PeyoakaJesus: Hello a tous
Nagatwin: Si tu implémentes dijkstra avec une priorityQ; alors A* est simplement une variation avec une heuristique sur la priority
Hubcan: ninja qui est tu ?
NinjaAuntieOfWisdom_b4c6: Ton pire cauchemar
Hubcan: Ah
NinjaAuntieOfWisdom_b4c6: Hubcan je te baise
Hubcan: Volontiers
Zorg1: Nagatwin : euh non sans parler d'implém
Hubcan: Il était vraiment méchant
Hubcan: Vous avez bien fait de le bannir
nicola: Totalement con, oui.
Nagatwin: Zorg1 a priori c'est juste une variation sur la théorie
Hubcan: Merci Nicola
Switch64: Merci pour ca c'est embetant les mecs comme ca on peut pas bosser dans ces conditions
Nagatwin: sur l'implem ça dép de l'implem de dijkstra que tu as fait
PeyoakaJesus: comment tu sais qu'il est banni ?
Switch64: bah oui comment tu sais ca Hubcan ?
leojean890: Zorg1 je n'ai jamais testé Djikstra, mais en regardant ce que c'est sur le net on dirait bien que A*est une variation de Djikstra oui
Nagatwin: C'est l'heure du TP code à l'école maternelle on dirait
Hubcan: Je sais pas les frérots il parle plus je suppose que les merveilleux modérateurs ont très bien fait leur travail
nicola: Ben, c’est écrit.
nicola: NinjaAuntieOfWisdom_b4c6 a été banni par nicola.
nicola: OK.
Hubcan: On peut devenir modo ?
nicola: Je l’ai aussi banni sur #World.
Hubcan: Beau gosse
leojean890: Zorg1 Nagatwin ouais je l'ai fait avec priority queue
Hubcan: Ca va pas m'aider à résoudre prefix code tout ça
Switch64: Nicola tu as fait Prefixe code ?
nicola: Je ne sais plus.
Nagatwin: Avec une priority queue; c'est très simple de passer de l'un à l'autre, à une heuristique de priorité près leojean890
nicola: Ha si.
nicola: En Python.
Hubcan: Je vais être honnête, nous sommes un peu dans la "sauce" comme disent les jeunes, en effet nous devons faire le prefix code pour lundi en C++...
Switch64: Pour combien tu le fais en C++ avec un rapport
Hubcan: Avec deux rapports
Switch64: c'est compliqué et on a un peu tous du mal
PeyoakaJesus: Entre fan de Doom
nicola: Je ne connais pas C++.
nicola: Ou si peu.
leojean890: Nagatwin ah d'accord, mais je n'ai pas encore testé Djikstra, je vais regarder ça du coup^^
Hubcan: Celui qui le fait je lui envoie ma meilleure carte pokémon
Hubcan: :yin_yang:
nicola: 20 lignes en Python.
Hubcan: On peut convertir du Pythone en C++
Hubcan: Avec un rapport ?
Nagatwin: je pense que ça passe en 3 lignes de python
nicola: Je pense que ça se verra si vous convertissez du Python en C++.
Hubcan: flûte
Alshock: MDR, les enfants essayez de faire vos devoirs, c'est pour Lundi vous pouvez y arriver
Alshock: et si vous bloquez décrivez votre problème, on est généralement assez volontaire pour vous aider
Alshock: Notez la subtile différence entre vous aider, qui relève de al compréhension, et faire pour vous, qui relève de la bêtise
Hubcan: Merci papa
Alshock: Et le prochain qui m'appelle papa il prend un coup de déambulateur dans l'fion namého, ya plus d'respect moi j'vous l'dis
Alshock: au fait salut automaton2000, tu croises de belles tortues sur ta plages paradisiaque ?
Automaton2000: jbm: je pense que la question est : est ce que quelqu'un aurait des conseils à me donner ?
**Switch64 slaps Alshock around a bit with a large fishbot
Alshock: Voyez ce que vous apprenez à ce pauvre bot !
**Hubcan slaps Alshock around a bit with a large fishbot
Hubcan: IIIllllIIIlll
Hubcan: j'en peux plus
pardouin: en C++ vous connaissez map ?
pardouin: parce qu'en gros prefix code c'est juste utiliser map
Hubcan: Merci beaucoup !!
pardouin: ça permet d'associer un truc à un autre
pardouin: donc dans un preier temps vous créez un map qui associe chaque truc à son encodage
pardouin: et après il faut juste parcourir le texte et dès qu'un morceau appartient au map, remplacer le morceau par l'encodage associé
pardouin: mais on va pas le faire pour vous hein :)
pardouin: par contre si vous avez des bugs que vous ne comprenez pas, n'hésitez pas à poser des questions
Hubcan: Pardouin
Switch64: t'es un dieu déja le truc map ca nous aide de fous
Hubcan: Tu es notre dieu
Hubcan: Merci
Hubcan: Unfiniment
Hubcan: Infiniment
Hubcan: Est tu marié ?
pardouin: jamais dieu sans patrois
Thyl: c'était un probleme de quoi ???
pardouin: https://www.codingame.com/ide/puzzle/prefix-code
Thyl: du prefix
Thyl: un vrai monde du clash ce probleme :)
Thyl: après y a les dict() en python
NicoVaati: yes je suis un type d'epitech et un pote m'a filé le truc du codage a faire XD
pardouin: oui mais ils sont en C++
TartinedebeurreDu974: ouep
Thyl: aie
Thyl: oui map plus facile
pardouin: l'équivalent C++ de dict c'est unordered map mais bon map plus documenté je pense
Thyl: c'est vrai que se genre de probleme y en à partout sur IOI
Switch64: notre prof nous a dit : map trop compliqué faites avec des tableaux
Thyl: je préfère python pour ça
Thyl: Switch64
Thyl: tu connais la notion de table de Hachage ?
Alshock: ça me parait justifié, ça consiste en gros à recréer map, tu fais un tableau de clefs et un tableau de valeurs
Thyl: c'est la mécanique derrière les map
Thyl: Alshock même pas
Thyl: tu fais un gros tableau de int
pardouin: ben sinon tu stockes les trucs codés et décodés dans 2 tableaux aux mêmes indices
Alshock: enfin sans aucune perf, mais recréer l'association
Thyl: et tu fous une fonction de hash
pardouin: vu la taille des trucs tu n'as pas besoin d'une recherche efficace
Alshock: @Thyl t'es bien sûr que c'est des hashs et pas des arbres binaires ?
Thyl: oui
pardouin: suffit de parcourir tout le tableau à chaque fois
Thyl: c'est ce que je fais d'habithude
Thyl: ça marche du tonnerre
Thyl: meme defois si tu veux stocker des strings ben en gros tableau de string
Thyl: limite de memoire Switch64 ?
pardouin: hash c'est plutôt set en C++
Alshock: "
Internally, the elements in a map are always sorted by its key following a specific strict weak ordering criterion indicated by its internal comparison object (of type Compare)."
Thyl: je suis bête oui bien sur c'est sur CG
pardouin: map c'est un arbre rouge noir derrière je crois
Thyl: je regarde
Thyl: je fais un codeshare d'exemple
Alshock: bagh j'ai mis la ref au dessus https://www.cplusplus.com/reference/map/map/ trié par un élémént de comparaison c'est un arbre, sinon ça serait juste ben au petit hasard de l'algo de hashage
Thyl: pour leur problème ça suffit
Alshock: Pour leur problème un tableau de clefs et un tableau de valeurs suffisent, et c'est ce que leur prof veut
Alshock: chercher l'index dans le tableau de clef => prendre le même index dans le tableau de valeurs
Alshock: qu'importe si c'est O(n)
pardouin: oui ça fera largement l'affaire
Thyl: à ok
Thyl: je cherche trop compliqué
Thyl: oui ça marche du tonnere aussi :)
Bon[]Crayon: Salut tout le monde.
**Thyl cherche trop l'opti
Bon[]Crayon: Automaton2000 :ghost:
Automaton2000: si t'es un peu comme si tu avais une question ?
pardouin: salut
Bon[]Crayon: :wave_tone2:
Alshock: coucou Bon[]Crayon ! @Thyl en soi c'est pas mal l'opti, mais faut toujours qu'elle soit sans difficulté supplémentaire ou justifiée en temps d'exec
Thyl: t'as raison
pardouin: ben là pour le coup c'était même plus simple avec map mais s'ils connaissent pas ça ajoute du boulot en plus
Thyl: Epitech c'est une grosse école non ?
Alshock: c'est plus ismple mais TROP simple. Je pense que leur prof veut qu'ils recréent la structure from scratch avant de leur expliquer pourquoi leur version est pas folle et leur présenter map
NicoVaati: je pense aussi
Alshock: c'est une école payante hors contrat dont 42 est en gros la version open source
NicoVaati: au fait des convertisseurs performants du c au C++ ca existe?
pardouin: le plus perfomant s'appelle copier-coller
Alshock: performants ? Ton C compilé en C++ devrait pas être bcp plus lent
pardouin: je dirais
NicoVaati: okok
Alshock: peut-être que tu veux dire transformer du C en C++ STL ? Ça je crois pas que tu puisse le faire de manière magique
NicoVaati: ok
NicoVaati: c'etait plus ca
pardouin: le c++ c'est juste du c avec des libs en + en gros
Thyl: NicoVati pour quoi tu t'embêtes à prendre du C pour le prndre en C++
pardouin: pas plus efficace, juste plus pratique
Thyl: prend GCC et go !
pardouin: ça t'évite de recoder des trucs toi-même
NicoVaati: ben écoute j'ai jamais touché au c++
pardouin: mais si le code est déjà en C, ça n'a pas d'intérêt
Zorg1: sinon prefix code tu peux construire l'arbre si tu veux pas t'emmerder avec une map
NicoVaati: et la syntaxe me rebute
NicoVaati: j'arrive pas bien a comprendre a cause de l'habitude
NicoVaati: du C
NicoVaati: genre les ">>" par ex
pardouin: au pire tu fais des scanf / printf
pardouin: personne ne t'oblige à utiliser iostream :)
NicoVaati: c'est la meme chose?
Alshock: ah ah oui je comprends ça, normalement l'effet C++ c'est "bordel c'est quoi tous ces itérateurs de mort ? Rendez-moi mon bon vieux C" mais une fois que tu commences à dompter les sujets tu comprends leur force
NicoVaati: genre le fonctionnement scanf/printf?
NicoVaati: ah ok
Alshock: ah le C++ est rétro compatible (majoritairement) avec le C oui
Alshock: donc du code C est (ou est PRESQUE) valide en C++
pardouin: si tu veux apprendre c++ je te conseille de faire comme tu ferais en C et d'ajouter progressivement des features c++
NicoVaati: ah pasque j'avance au charbon avec mes vieux gros mallocs moi
pardouin: si tu essayes de tout changer d'un coup tu vas galérer
Alshock: par contre je te conseille d'essayer quand même les flux d'iostream
pardouin: (oui on s'y habitue vite)
NicoVaati: ok. Ben je vais m'y mettre alors
NicoVaati: c'est vrai que niveau libs ya pas grand chose et c'est chiant
Alshock: pour répondre à ta question, << tu peux le voir comme une virgule dans la liste des arguments que tu passes à cout par exemple, sauf que ça n'a pas besoin d'être des strings. Pareil pour >> et cin (en vrai c'est des appels enchainés, mais c'est pareil)
NicoVaati: Oooooooookay
Alshock: la deuxième étape c'est d'oublier malloc et free, ils sont remplacés par new et delete
NicoVaati: plus simples?
NicoVaati: ou differents?
Alshock: en gros au lieu de demander/rendre de la mémoire tu demandes à ce qu'on crée/détruise ton objet. PAr contre les deux couples sont incompatibles entre eux
Alshock: ne jamais delete un malloc ou free un new
NicoVaati: ok
TheDoubleRubberDuck_6df9: Parle mieux par contre c'est pas simple ce qu'ils doivent faire j'ai regardé je comprends rien
Alshock: L'avantage c'est que quelque soit la complexité interne de ton objet, il sera détruit en intégralité même s'il n'est pas contigu en mémoire. C'est la force de ce qu'on appelle le destructeur
TheDoubleRubberDuck_6df9: je vais te faire courir moi
TheDoubleRubberDuck_6df9: le rouquin
NicoVaati: YES
NicoVaati: ca c'est cool
NicoVaati: bon ben go le C++ alors
Alshock: TheDoubleRubberDuck_6df9 je suis pa ssûr de bien te suivre
TheDoubleRubberDuck_6df9: bah j'espere pas que tu me suis frere je veux pas être suivi dans la rue sale malade*
NicoVaati: qwâ?
NicoVaati: vous vous connaisez?
pardouin: je crois que c'est le mec qui a été banni ce matin parce qu'il était relou :)
Hubcan: POur sa défense c'est pas sa faute
Hubcan: Il a des problèmes
NicoVaati: pk ya toute l'ecole qui raboule?
TartinedebeurreDu974: on est la tkt
NicoVaati: toi
NicoVaati: sais qui tu est
NicoVaati: 974 la famille
TartinedebeurreDu974: toi aussi je sais qui tu es
Hubcan: je ne compwen pwa
NicoVaati: oh merde
NicoVaati: tu les as tous endoctrinés
Hubcan: NicoVaati jtm
TartinedebeurreDu974: et ouepp
Hubcan: Tu es notre messie
NicoVaati: oh merde
Switch64: messi le joueur de foot ?
NicoVaati: kylian qu'as-tu fait
Hubcan: cé le fraire de aimebapé ?
NicoVaati: ui
Switch64: non selui de naimare jounor
Hubcan: aa oké je savé pa
TartinedebeurreDu974: att je te dis ça sur discord
Switch64: tinkiete il jou se çoir
PeyoakaJesus: ici c'est le travail arretez
Hubcan: tg jesus
PeyoakaJesus: deso
NicoVaati: Aretéz depArlé com kilian
Switch64: on rigole bien sur c'est notre copaing
Switch64: comme neymar et mbappe
NicoVaati: ui
NicoVaati: va falloir se croiser un de ces 4
TartinedebeurreDu974: ta vu on est trop cool
Switch64: DEBANNEZ JP DEBANNEZ JP
Zorg1: c'est le sacré bazar le chat ce matin dis donc ...
NicoVaati: qui est jP?
Switch64: c'est pas le matin c'est le midi et toc
Hubcan: miaou
NicoVaati: kilian retiens tes sbires
NicoVaati: ta folie est trop importante
Hubcan: c koa un sbiyre ?
TartinedebeurreDu974: jp
Switch64: un skribe idiot c'est un mec qui écrit
NicoVaati: bon les bros et si vous me laissiez coder VOTRE exercice?
Hubcan: Oui pardon va y
Hubcan: Merci
PeyoakaJesus: ui
Hubcan: Jtm
Hubcan: LAISSEZ LE TRAVAILLER
Switch64: l'honneur est a vous
PeyoakaJesus: *silence*
PeyoakaJesus: *s'endort*
Thyl: vous êtes combien de toute l'école ????
PeyoakaJesus: *les loups garous se reveillent*
Switch64: *HUBCAN a été tué cette nuit, il était sorciere*
PeyoakaJesus: cheh
nicola: Un modo arrive, las quasimodos ont intérêt à se planquer.
PeyoakaJesus: chui villageois wallah
Hubcan: Oh mnce
nicola: *les
Hubcan: Joli jeu de mot
PeyoakaJesus: *se rendort*
Switch64: Jolie vanne nicola, mais on peut pas parler comme ca ? on parle juste
nicola: Au boulor, les djeunz en TD.
nicola: *boulot
NicoVaati: faites un chat école
Thyl: nicola je vois l'esprit du prof
NicoVaati: ah
Thyl: :)
Hubcan: nicovati depeche stp
NicoVaati: et c'est trop petit pour vos grandes ambitions?
Hubcan: jrigole frérot
NicoVaati: TG
PeyoakaJesus: uh
Hubcan: ah
Hubcan: Ah
NicoVaati: toi t'auras pas mon code
PeyoakaJesus: vener le mili
Hubcan: Désolé
nicola: Oui, si vous voulez causer tranquillement, ouvrez votre canal.
Hubcan: Je te demande pardon
Hubcan: Canale LOOOOOOOOOOOOOOOOOOOL
Switch64: J'ai mon milin, nananinananana
nicola: #Elisa
Thyl: #LOOOOOOOOL
nicola: Et hop.
NicoVaati: le grand redon te pardonnera peut etre
Switch64: HAHAHA canal c'est le nom de famille de HUBCAN mdrrr
nicola: Ou #prytanee
NicoVaati: nan?
NicoVaati: seriously?
Thyl: c'est géniale tu étales la vie personnel de ton copain c'est sympa ça
TartinedebeurreDu974: le grand et l'unique
nicola: Clique dessus.
nicola: Ou alors #TDdes4A.
pardouin: après rien ne vous empêche de parler ici hein mais de manière un peu moins frénétique c'est bien aussi :)
Switch64: C'est juste pour rire quoi c'est pour amuser un peu le chat a pas besoin d'être morbide ou quoi
nicola: en effet, mais pas pourri de spam non plus.
nicola: Surtout quand vous êtes quinze à bavarder. :grin:
Thyl: on dirait un tchat twitch
Switch64: Oui c'est vrai mais la derniere fois y'aait Belzebuth qui était encore pire il était vraiment pas gentil
pardouin: mdr j'allais dire ça
Thyl: :expressionless:
Switch64: On pouvait pas parler on pouvait rien dire un vrai dictateur le bougre
NicoVaati: qui est BEeElzebuth?
PeyoakaJesus: un modo
Thyl: t'avais cas t'ouvrir un channel
nicola: Alors ouvrez votre fil perso.
Zorg1: bah vous vous créer un salon privé
PeyoakaJesus: un tyran
pardouin: l'idée c'est que si des gens ont des vraies questions, que ce soit pas noyé quoi :)
Thyl: Discord ça existe
NicoVaati: ben go basculer sur discord alors
Thyl: et si vous aimez pas python peut crée des chats avec des sockets largement
nicola: join #TDdes4A avec un / au début.
nicola: Des soquettes ?
Zorg1: c'est BSD qui a commencé à mettre le réseau en chaussette je crois
Thyl: nicola tu connais pas les sockets ???
Thyl: :)
nicola: Et NicoVaati n’est pas passé au niveau 1.
pardouin: zorg je suis arrivé à obsolete programming dans ma todo list
Zorg1: nice
Thyl: tu sais les minis serveurs
nicola: Si, c’est une prise en anglais.
pardouin: je vais pouvoir bitcher en direct
Thyl: a ok
Zorg1: j'aurais dis "douille" mais bon c'est l'idée
nicola: La contrepèterie est plus intéressante.
Zorg1: ^^
Alshock: MDR je viens de lire que les jeunes craignent blaise, c'est bien il taffe fort le démon
PeyoakaJesus: le diable
Zorg1: bah la dernière fois il les avait viré à la pelle
nicola: Je suis en train de lire http://lyah.haskell.fr/.
Alshock: Zorg1 ça m'étonne de lui, il préfère la moissonneuse batteuse
Thyl: un petit Lisp ça peut pas faire de mal aussi nicola
pardouin: tu vois mieux l'esprit nicola ?
Zorg1: ouaip y en avait deux ou trois qui avait pleuré sur #world
Zorg1: nicola : c'est bon toujours sain d'esprit ?
Alshock: pardouin oui, il est sur la commode. D'ailleurs attention il s'apprête à te posséder
Zorg1: ou ça va devenir comme dans une nouvelle de Lovecraft ?
nicola: Oui oui, j’utilisais pas mal de ces trucs-là en Python.
pardouin: zorg1: tl;dr -> write a forth compiler c'est l'idée ?
nicola: Mais je me demande encore comment je vais résoudre Temperature avec ça.
Zorg1: pardouin : oui c'est un "CgForth"
nicola: Ça va venir.
Zorg1: bon c'est un forth bcp plus light quand même
pardouin: je viens de faire turing machine
pardouin: on va dire que je suis chaud
nicola: Après tout, Haskell est très matheux dans l’esprit.
Zorg1: l'intérêt du forth c'est que le parsing est simple
nicola: pardouin, en Lego ?
pardouin: si le voisin pouvait arrêter son marteau-piqueur aussi ce serait pas mal
nicola: Envoie-lui du Einstürzende Neubauten.
nicola: Tanz debil ou un autre morceau de cet album.
Zorg1: Mercredi le jour idéal pour tout défoncer au marteau piqueur :D
Zorg1: tiens j'ai des trous à percer, par solidarité je vais mettre ma perceuse en mode "marteau"
pardouin: j'écoute ça pour couvrir: https://www.youtube.com/watch?v=yZsTGjddN0E
Alshock: Ah c'est donc ça le métier de couvreur ?
Zorg1: et t'en trouves pas mal des "cover" sur youtube
Zorg1: tout est lié
pardouin: X>D
pardouin: je sens que ça va partir en exec pour les DEF
Zorg1: c'est une possibilité ;-)
pardouin: fini
pardouin: import os input() os.system("forth '{input()}'")
pardouin: oublié le f devant le string
pardouin: en plus c'est débile mon truc je récupère pas tout l'input
pardouin: bon petite accalmie du voisin, on va essayer de se concentrer un minimuù
Zorg1: nicola : pour l'histoire de "changer une variable en fonctionnel"
Zorg1: En fait pour coder fibonacci : http://chat.codingame.com/pastebin/a1d336e2-ef59-4b21-8377-5c49df086c8a
Zorg1: pardouin : la syntaxe est pas vraiment pareil, mais j'ignorais que tu pouvais trouver gforth sur CG ^^
pardouin: ce serait rigolo de voir si on a accès à d'autres languages que ceux prévus d'ailleurs
pardouin: autres que les classiques sed, awk
Zorg1: bc
Zorg1: tu peux coder en bc
Zorg1: (faire des boucles, functions et tout le tralala)
pardouin: :)
pardouin: je fais pas le tralala de bon matin moi monsieur
pardouin: j'ai plus 20 ans
Zorg1: après bon doit pas trop y avoir de truc plus exotique que les langages supportés par CG sur leur serveur
pardouin: il y a INTERCAL je crois
JBM: je sais plus si on a dc ici
Zorg1: j'avais essayé, j'ai pas trouvé
Zorg1: donc on ne l'a pas pour moi
pardouin: je crois aussi qu'il manque ul
pardouin: (désole XD)
Zorg1: après tu as peut être un interpréteur postscript qui traine mais bon
Zorg1: voire même un emacs d'installé va savoir ...
pardouin: ld
Zorg1: pouvoir résoudre les puzzles en elisp ...
pardouin: units
Zorg1: pas sûr que ld ou units soient turing complet
pardouin: c'est sûr
pardouin: bon j'avais tout fait en one-liner mais ROT je le sens mal
Zorg1: hé hé
pardouin: ah si c'est bon mais c'est illisible
Zorg1: ah j'avais essayé de faire des fonctions lisibles moi, avec traitement d'erreur ^^
Zorg1: mais ça enrobe un one liner :
Zorg1: stack[sp-3],stack[sp-2],stack[sp-1]=stack[sp-2],stack[sp-1],stack[sp-3]
pardouin: premier truc que j'ai regardé, s'il y avait des erreurs
pardouin: et j'ai fait COOOOOL
Zorg1: oui j'en ai pas mis, en général tu spécifie des erreurs faut les tester aussi
Zorg1: ça peut vite faire exploser les tests
Zorg1: *le nombre de tests
Zorg1: ah ok le seul test logique que j'ai spécifié c'est POS la faignasse ^^
Zorg1: enfin la seule comparaison
pardouin: Stack[-3:] = Stack[-2:] + [Stack[-3]]
pardouin: un peu plus propre
pardouin: o/
Zorg1: tu le fais en python ?
Zorg1: \o
Mana-Lv: J'ai une question je suis nouveau par ici, on peut executer du code sans tout executer en meme temps ?
pardouin: je fais tout en python
pardouin: càd ?
Zorg1: c'est pas très clair Mana-Lv ;-)
pardouin: quel puzzle, que veux-tu faire ?
Mana-Lv: je suis sur température par exemple
Mana-Lv: J'apprends en ce moment et je sais pas si ça se fait mais quand je suis sur un code j'execute souvent des lignes isolées où des print() avec les valeurs qui m'interesse
Mana-Lv: pour savoir où j'en suis
pardouin: tu peux print des infos additionnelles dans stderr pour t'aider à débuguer
pardouin: et ça n'influe pas sur le puzzle
pardouin: en python il faut avoir fait import sys
Mana-Lv: ok c'est top ça merci
pardouin: et ensuite print(<truc>, file=sys.stderr, flush=False)
Mana-Lv: je vais regarder ce que c'est tout ça
Mana-Lv: c'est une sorte de console qui n'influe pas sur le puzzle en gros ?
pardouin: oui
pardouin: par contre c'est mélangé aux outputs classiques donc mets un petit préfixe pour le distinguer du reste
Zorg1: normalement t'as l'instruction pour faire ça en commentaire dans le stub de code fourni par CG
pardouin: et le seul truc pénible c'est qu'e python tu ne peux print les trucs qu'un par un je crois
pardouin: tu peux pas faire par exemple print(a, b, file=sys.stderr, flush=False)
Mana-Lv: c'est pile ce que je cherchais
Mana-Lv: ah oui ? J'ai pas eu le temps de tester encore
pardouin: mais sinon tu fais un f string si tu veux mettre plusieurs infos ensemble
pardouin: ex:
pardouin: print(f"debug : {} {}", file=sys.stderr, flush=False)
pardouin: et dans les {} tu mets deux infos que tu veux
Mana-Lv: ah oui je vois l'idée
pardouin: :)
Mana-Lv: j'ai une dernière question
Mana-Lv: le input() en général c'est les valeurs à traiter, elles sont données sous quelle forme ?
pardouin: toujours un str
Mana-Lv: J'essaye de print le type(input()) ou input() seul mais ça donne pas grd chose
pardouin: donc si tu veux un int il faut le convertir
pardouin: genre int(input())
pardouin: si tu en as deux sur une ligne séparés par des espaces tu fais a, b = map(int, input().split())
pardouin: ce genre de truc
Mana-Lv: ça me dit vaguement qqchose
Mana-Lv: je peux pas print : input() apparament
pardouin: map applique une fonction à une collection, donc ici ça applique int à ton str découpé
pardouin: (split découpe par défaut selon les espaces)
Mana-Lv: mais du coup niveau logique pourquoi on peut pas simplement print le input() si c'est un str ?
pardouin: tu peux normalement
Mana-Lv: mais pour le map je note !
pardouin: si tu as EOF ça veut dire que tu essayes de récup de l'input alors qu'il y en a plus
pardouin: mais sinon rien empêche de print de l'input
pardouin: typiquement si tu avais un input "2 3" et que tu as fais a = input; b = input()
pardouin: pensant récupérer 2 et 3, alors qu'en fait il n'y avait qu'un seul input
pardouin: (oublié les () sur le premier input mais tu vois l'idée)
Mana-Lv: haha j'ai un peu de retard je réfléchis encore
Mana-Lv: c'est une fonction input() étant donné qu'il y a des () ?
Mana-Lv: ça se récupère qu'une fois ?
pardouin: input c'est la fonction elle-même, input() pour l'appeler
pardouin: si c'est sur une seule ligne ça se récupère en une fois
pardouin: (en python)
pardouin: il y a des languages qui permettent de récupérer plusieurs trucs sur une ligne sans "griller" la ligne
Mana-Lv: si mon input est "2 3" en gros si je fais a = input()
pardouin: oui
pardouin: donc si tu veux récup en découpant fait plutôt a, b = map(int, input().split())
pardouin: si ton input c'est "TRUC 2.5 1" là c'est un peu relou
pardouin: tu peux faire a, b, c = input().split() et ensuite b = float(b) et c = int(c)
Mana-Lv: ça va récupèrer que les valeurs concernée par le type ?
pardouin: ça te les récupère en str
pardouin: et après tu les convertis
Mana-Lv: bon c'est assez bizarre, pour reprendre mon exemple si mon input est "2 3" et que je fais a = input(), ça me donne a = 3
Mana-Lv: ok en tout cas ça m'a éclairer sur la logique de la chose un peu
pardouin: sur certains puzzles tu peux actover le mode expert et créer tes propres tests
pardouin: c'est un bon moyen de tester plein de formats d'input et voir exactement comment récupérer les trucs
pardouin: sur Thor je pense que c'est désactivé mais sur un puzzle I/O classique ça marche
pardouin: au hasard: https://www.codingame.com/training/easy/nature-of-quadrilaterals
VannHell: euh, comment on fait pour contacter un auteur ? -_-'
VannHell: j'ai eu ca en jouant à tower dereference :
VannHell: Le jeu a cessé de fonctionner. Veuillez contacter l'auteur(e) et transmettre l'erreur suivante : http://chat.codingame.com/pastebin/36aea623-0cbe-4089-b2c7-2fc5a7394950
raillou: jsp deso
Zorg1: tu vas signaler l'erreur dans le forum (onglet discussion du puzzle) : https://www.codingame.com/multiplayer/bot-programming/tower-dereference/discuss
Bon[]Crayon: Automaton2000 :)
Automaton2000: il me semblait bien que c'était pas la peine de te casser la gueule
Bon[]Crayon: Automaton2000 C'est une bonne idée.
Automaton2000: tu fais combien de simu par tour ?
Bon[]Crayon: Automaton2000 2000
Automaton2000: c'est quoi le sujet ?
dwarfie: Automaton2000 : rtfs
Automaton2000: je sais pas sur quoi partir
dwarfie: Automaton2000 ... je dirais sur l'ile de la tortue
Automaton2000: du coup dans le doute reboot
Zorg1: tu as tout compris Automaton2000
Automaton2000: tu veux qu'on en parle
Zorg1: pas vraiment Automaton2000 mais si tu insistes
Automaton2000: ça ne marche pas trop mal
pardouin: fini ton forth :)
pardouin: j'ai réussi à faire un truc pas trop dégueu
Zorg1: ^^
pardouin: je devrais lire l'énoncé à fond dès le début, j'avais pas anticipé assez les if imbriqués et j'ai du changer de stratégie en cours de route pour faire un truc plus rrécursif
Zorg1: je viens de voir qu'il y a un gars qui a copie/collé ma solution
pardouin: mais c'était cool, le compilateur le plus intéressant que j'ai fait jusqu'à présent
Zorg1: merci :)
pardouin: je nettoie un peu la mienne et je la mets
Zorg1: c'était un peu le but, même si le plus marrant dans le puzzle c'était d'écrire les tests en fait ;-)
pardouin: pas du tout utilisé eval et exec finalement
pardouin: oui tu as du t'amuser à écrire les tests
pardouin: ils viennent de rajouter les switch case statements dans python 3.10
pardouin: ça aurait permis un truc un peu plus élégant avec moins de elif ^^
Alshock: les forêts de ifs si j'arrive à avoir des immutables chez moi c'est un dict
Alshock: mais ouais, les switchs seront une bonne nouvelle
philRG: ah sur CG?
Zorg1: non dans python 3.10
philRG: ah 3.7.4 ok
Zorg1: suis un peu :p
philRG: je suis bigleu ouais
Dayka: Hello, est-ce qu'il y a des exos d'entrainement au multithreading?
Zorg1: pas vraiment l'impression
Dayka: Il me semblait aussi que ce n'était pas trop compatible avec leur outil de tests mais je voulais confirmation
barhamou: bsr a tous. svp ya t-il des exercice ici qui font référence a l'administration sur linux. ? je ne vois que de l'algorithme...
Bon[]Crayon: slt
Bon[]Crayon: Je ne pense pas.
barhamou: slt Bon[]Crayon
Bon[]Crayon: Tu peux regarder à cette adresse https://www.codingame.com/learn
barhamou: et pourtant pour les test de recrutement sur codigame on es evaluer sur tous ces aspect de l'informatique
barhamou: ok merci. je vais geter un coup d'oeil
BlaiseEbuth: Yo tout l'monde ! Automaton2000, AutomatonNN !
Automaton2000: elle ouvre quand la ligue argent ?
Zorg1: o/
BlaiseEbuth: \o
BlaiseEbuth: Pas tout de suite Automaton2000.
Automaton2000: celui qui te fait gagner du temps
Alshock: je crois que Automaton2000 se fout de toi blaise
Automaton2000: oui je pense que c'est pas bien
Alshock: xD si même toi t'en rends compte Automaton2000 excuse-toi ^^ Si tu lui donnes une tortue je pense que blaise peut te pardonner
Automaton2000: on a toutes les infos
BlaiseEbuth: :scream:
Zorg1: ah ah tu as un dossier sur Blaise Automaton2000 ?
Automaton2000: ça pique un peu le principe de base de données
Zorg1: si tu fais des tables à 200 colonnes aussi Automaton2000 ça va pas être très exploitable ton truc
Automaton2000: alshock : pour coder en ocaml alors.
BlaiseEbuth: :smirk:
_Flippy: Quelqu'un de chaud pour une de ces coding escape room ?
_Flippy: https://escape.codingame.com/game-session/wLQ-Vyy-LxN-jeF
BlaiseEbuth: nan
dwarfie: pff ... pas drole , on peut pas faire l'escape seul :D
Zorg1: s'echapper de soi même
BlaiseEbuth: Tu peux faire le tuto
BlaiseEbuth: Et créer des smurfs
Zorg1: le modo qui appelle à faire des multi comptes ...
dwarfie: le tuto ... fait en 15 seconde ... :D
Zorg1: on aura tout vu :grimacing:
BlaiseEbuth: Moi je suis contre ce truc t'façon
BlaiseEbuth: balec
Zorg1: oui le tuto est simple
Zorg1: en plus tu peux pas coder en lua
Zorg1: cénul
BlaiseEbuth: Je vais vendre mes liens d'invitation
dwarfie: ah bon , y'a meem pas tous les langages ? (en meme temps , d'ou ca vient js en code par defaut ...)
Zorg1: dois y avoir un site à la con "qui fait référence dans l'industrie" qui l'a mis dans les langages les plus utilisés et le plus simple d'accès
Zorg1: le genre de site qui te fais grimper ton compter ublock à 200
Zorg1: et qui te spame de 36 popup
dwarfie: bien vu
BlaiseEbuth: Moi j'men fout je bloque js partout
Zorg1: y a encore des sites qui fonctionnent correctement sans JS ?
BlaiseEbuth: Les bons.
Zorg1: j'avais cru comprendre que le must c'était de créer une appli en JS qui tourne sur ton navigateur
Zorg1: mais bientôt tout en webasm !
BlaiseEbuth: A la base js c'était pour animer ta page, maintenant css le fait, donc exit js
dwarfie: le retour de la question trollesque ...
BlaiseEbuth: Quelle question ?
dwarfie: "y a encore des sites qui fonctionnent correctement sans JS ?"
Zorg1: hi hi
BlaiseEbuth: Webasm on dirait le nom d'un site porno sérieux
dwarfie: ah ... le retour des lags dans le chat aussi ... ca doit etre parce que j'ai cliqu" sur le lien vers l'escape ...
Zorg1: ça me rappelle t'avais aussi la manie de mettre du Flash partout
Zorg1: bon ça s'est quasi fini
BlaiseEbuth: " When you have eliminated the JavaScript, whatever remains must be an empty page." google maps, 2021
Zorg1: découvre tous les codes chauds de ta région avec Webasm
caty: mdr
dwarfie: google qui dit ca alors que c'est les fossoyeurs des navigateurs ... sans dec'
Zorg1: attend ils ont soutenu chrome qu'est le plus rapide
BlaiseEbuth: Pour moi un bon site, c'est un site où je ne vois pas de différence avec ou sans NoScripts
Zorg1: (quand les sites google mettait des boucles d'attentes pour les navigateurs non chrome)
Zorg1: (j'avais lu ça dieu sait où ça m'avait fait marrer)
BlaiseEbuth: Encore quand c'est une "application" je peux comprendre l'utilisation de js, mais quand les listes déroulantes fonctionnent pas sans c'est du foutage de gueule
Zorg1: bah j'ai l'impression que le moindre framework web a besoin de JS maintenant
Zorg1: en plus s'il n'y avait que ça
BlaiseEbuth: -> Mais qui a besoin des frameworks
dwarfie: +1k
Zorg1: ce qui me gave c'est le besoin de charger des mégas de merde qui n'ont rien à voir avec la soupe
BlaiseEbuth: Heureusement qu'on a pas ça sur CG
Zorg1: :D
**dwarfie vient de s'etouffer ... pas quand il boit bon sang ...
Zorg1: c'est vrai que sur mon PC de boulot ça s'est mis à ramer CG, je me demande bien pourqupo
Zorg1: *pourquoi
BlaiseEbuth: Désolé dwarfie ^^
Zorg1: sans doute un problème réseau :smiling_imp:
BlaiseEbuth: C'est les crypominers de cg qui bossent dur
BlaiseEbuth: *crypto
dwarfie: Zorg1 ...ca doit etre parce que t'as pas vidé la corbeille ... ca consomme du cpu de la gerer ;)
Zorg1: bah sur un PC windows ils conseillent d'éviter des méga de doc sur le bureau
Zorg1: ça fait tout ramer tellement que c'est de la qualité cet OS
BlaiseEbuth: En même temps ils te disent de pas le faire, le fait pas, et hop plus de problème.
Zorg1: donc ça m'étonnerais même pas qu'une corbeille pleine fait tout ramer
dwarfie: ben oui , ca en fait des icones a redessiner chaque fois qu tu bouge une fenetre ... avec la transparance et les autres effets indispensables ...
Zorg1: BlaiseEbuth : oui enfin je range sur le bureau de façon "temporaire" ofc
Zorg1: mais j'ai découvert que j'étais pas le pire
Zorg1: visiblement le fond d'écran "pleins d'icônes partour" y en a qui aiment
Zorg1: en plus de finir ma journée de travail avec un nombre maousse d'onglets dans le navigateur ^^
Zorg1: tiens y a de l'orage sur Paris oO
dwarfie: t'es sur que c'est pas des explosions du coup d'etat ;) ?
Zorg1: ils photagraphie ma fenêtre avec des flash pour un coup d'état ?
Zorg1: je suis vraiment pas au courant
BlaiseEbuth: Y'a un coup d'état et on m'a pas prévenu ?
Zorg1: Vivement que la Grand Epdémiologiste Nous Explique La Vie A La Television
Zorg1: "le gouvernement a fait un boulot formidable mais vous être trop con pour faire attention, on va continuer le couvre feu jusqu'à la saint glinglin"
BlaiseEbuth: Ah ? Il va parler ?
Zorg1: bah je sais pas en fait, tous les jours ils annoncent qu'ils vont faire des annonces
BlaiseEbuth: -_-
Zorg1: au moins ils tiennent leurs promesses comme ça
Zorg1: tiens ils en sont où avec leurs vaccins ?
Zorg1: même Boris le débile fait mieux que Manu le génie
BlaiseEbuth: Ils attaquent astra zeneca parce qu'ils savent pas lire un contrat avant de le signer.
dwarfie: ou parce qu'ils ont signé un contrat avec sanofi ....
BlaiseEbuth: :zipper_mouth:
Zorg1: je croyais qu'on avait payer un cabinet américain de mec en cravates pour organiser ça
Zorg1: vu qu'ils savent faire mieux que tout le monde
Zorg1: t1 mon orthographe :(
dwarfie: au etats-unis , un chef de cabient , c'est pas ce qu'on appelait une dame-pipi vers chez nous y'a encore quelques années ? (en tout cas ca doit etre aussi efficace :D )
Zorg1: (enfin plutôt mes accords)
dwarfie: ca remue la merde et ca dit que c'est propre apres :rofl:
Zorg1: et ça n'oublie surtout pas d'empocher le pognon
leojean890: saleté de .. 83% sur tan-network alors que 100% tests
BlaiseEbuth: Au moins t'as plus de 52%...
leojean890: mouais mais ça se debug pas si tous les tests sont ok
leojean890: d'autant plus que c'est un officiel
Butanium: Après discussion avec astrobyte et eulersheZahl sur discord j'aimerais bien avoir l'avis de plus de monde. Dans ma contribution j'ai fait différentes stubs pour les différentes ligues, en rajoutant des nouvelles variables à la suite des anciennes dans les loops au fur à mesure des ligues
Butanium: Ils m'ont dit que c'était une très mauvaise idée
Butanium: mais je n'ai pas envie d'effrayer les débutants avec un code de base contenant 15 lignes inutilse pour la première ligue
leojean890: ah en effet, il faut lire tous les inputs dès la première ligue :)
Butanium: vous en pensez quoi vous?
leojean890: sinon c'est chiant, il faut changer sa lecture d'inputs soi même^^
leojean890: en tout cas quel que soit le sujet (contest, multi..) c'est ainsi
Butanium: d'accord d'accord
leojean890: c'est cause de bugs de devoir lire le statement et trouver comment modifier la lecture des inputs
BlaiseEbuth: La même Butanium. C'est bien plus chiant de devoir revoir son code à chaque ligue que d'avoir des inputs non utilisés au début.
leojean890: d'autant plus que les gens n'ont pas l'habitude:P
Butanium: j'étais un peu réticent à l'idée d'avoir une énorme stub dès la première ligue c'est pour ça
Butanium: après dans le welcome et le début du statement je pouvais toujours le préciser
Butanium: mais bon je comprends l'avantage d'avoir la même stub tout le long
leojean890: tu peux préciser que plein d'inputs sont inutilisés
Butanium: ouais je peux modifier les descriptions en fonction des ligues non?
dwarfie: d'ailleurs c'est souvent comme ca durant les contests ...
leojean890: oui ça c'est standard:)
BlaiseEbuth: Ouai
PythonSlayer: oui il y a bcp de challenge ou c'est comme ca c'est pas trop genant pour un debutant
Butanium: ok bon bah je modiefirai ça demain alors :+1:
Butanium: pour l'instant le site et cassé et me laisse pas accéder à ma contribution
leojean890: comme ça on garde le côté ergnomique, ce qui n'est pas le cas de RAIC;p
leojean890: ah bizarre ça
Butanium: thibault a dis qu'il s'en occuperai demain
Butanium: *thibaud
leojean890: je vois
dwarfie: attention au bip ...
leojean890: qu'il est relou ce tan-network
BlaiseEbuth: Netuwolku-tan ! :flushed:
leojean890: leurs tests ne testent pas l'intégralité du pbm ou quoi ?;)
dwarfie: fix tes arrondis :D
leojean890: ouais c'est peut être ça
leojean890: :s
dwarfie: en meme temps , j'ai pas d'arrondis ... pas contre il me semble que j'avais inversé lat et long dans mes calculs :p
dwarfie: (mais ca passait pas les tests donc c'est pas ca ...)
leojean890: x = (longi-lon)*math.cos((lat+lati)/2)
y = (lati-lat) return math.sqrt(x**2+y**2)*6371
leojean890: pareil j'ai un truc simple comme ça
dwarfie: j'ai la meme
dwarfie: timeout ? c'est sur lequel que ca foire ?
leojean890: ça foire sur le grand nombre d'étapes
dwarfie: ca doit etre ca alors ...
leojean890: j'hallucine, même en inversant lat/lati et lon/longi ça passe les tests mais pas le valideur mdr
leojean890: tu penses que c'est timeout ?
dwarfie: probable ...
dwarfie: t'as fait quel algo ?
leojean890: je fais bien un hash des villes déjà parcourues
leojean890: un A*
dwarfie: pas moi
leojean890: tout simple, je parcours les voisins
leojean890: et avec une file de priorité
dwarfie: j'ai fait un Dijkstra
leojean890: dans le module heapq de python
pardouin: j'ai fait A* mais normalement ça passe même avec dijkstra
leojean890: Dijkstra et A* ça revient au même ^^
pardouin: tu as pas converti en radian
pardouin: ?
dwarfie: sauf que j'ai pas utiliser de truc a la noix ... j'ai codé a partie de rien ... et en php :D
leojean890: du coup file de priorité avec en prio la plus courte distance à ce jour
leojean890: non pas converti en radian
pardouin: ben ça doit être ça
leojean890: je vais test de convert en radian alors^^
dwarfie: si c'est ca ... alors .... BOUHHHHH
leojean890: c'est le genre d'erreur que je suis capable de faire hehe
leojean890: heapq ça fait juste une file de prio avec une méthode push et pop
Zorg1: t1 l'erreur des radians à ce niveau de la compétition ...
Zorg1: mékestufou leojean890 !!??
BlaiseEbuth: Same!
leojean890: j'hallucine, même en inversant lat et long ça passe le test mdr
leojean890: mais pas le valideur :P
BlaiseEbuth: *Shame!
BlaiseEbuth: Y'a pas de clochette mais l'idée est là
dwarfie: surtout que les radians c'est dans le statement ...
leojean890: je tente de mettre en radians donc ;)
Zorg1: ET CA MARCHE TOUJOURS PAS
Zorg1: bah d'un autre côté s'il suffisait de corriger les bugs pour être #1 en contest
Zorg1: :p
leojean890: mdrrr ça fait 100% juste en passant en radians
leojean890: *math.pi/180
Zorg1: gg
Zorg1: weldone
leojean890: bon bah.. plus qu'à apprendre à lire un statement
dwarfie: BOOOUUUUUHHHHHHH !!!!!!!!!!! ;)
Zorg1: bah pourquoi ? il y a le chat pour ça :smiling_imp:
leojean890: code partagé ..
leojean890: pour ceux qui veulent voir du code moche ;)
Zorg1: enfin pour ceux qu'ont l'idée saugrenue de coder en python
leojean890: alshock par ex XD
Zorg1: comme ça dénonce ici
leojean890: il a codé 120 lignes et moi 86
Zorg1: ah oui qd meme 140 lignes de go
leojean890: la métrique c'est nb lignes en go = nb de lignes en python * 1.2 environ quand j'ai fait des portages :P
leojean890: et en C++ c'est *1.5
leojean890: à la louche
Zorg1: houla des métriques
Zorg1: t'es bon pour faire chef
leojean890: mdr
Zorg1: tu sais te servir d'Excel ?
leojean890: je suis noob en Excel/word/powerpoint lol
Zorg1: tkt c'est intuitif
leojean890: tu vois bien quand un dev a été CDP il sait bien s'en servir mais sinon...^^
Zorg1: suffit de reprendre un fichier excel avec 10 meg de macros
Zorg1: bon j'arrête de critiquer
leojean890: j'en ai déjà vu un inmaintenable du genre^^
pardouin: j'ai share mon TAN
pardouin: il est pas ouf
leojean890: python ?
pardouin: oui
leojean890: je vais voir^^
leojean890: regarde le mien hehe
Zorg1: y en a quand même qui font du go plus joli que le mien :(
leojean890: 48 lignes la moitié de moi gg XD
leojean890: pardouin spécialiste du golf :P
pardouin: regarde softice
pardouin: ça c'est du golf
Zorg1: ah oui il m'a montré son code pour mon puzzle c'est concis et clair ^^
leojean890: ah t'as aussi fait du heapq ^^
leojean890: softice ok mdr
leojean890: en tout cas quand on zap pas les radians, c'est plus simple que 11-puzzle je trouve
pardouin: pas encore fait 11-puzzle
leojean890: 11-puzzle j'ai du bidouiller des magic numbers..
leojean890: 2.5*score + depth
pardouin: je fais burglar's dilemna là
leojean890: alors que 3*score + depth ou 2*score + depth ça fait que 83%
pardouin: début de mon code: from itertools import permutations NEAR, FAR, WHEREVER_YOU_ARE = 0, 1, 2
leojean890: ah ouais
leojean890: c tjr plus propre avec des constantes qu'en dur hehe
Zorg1: c'est pratique d'avoir les permutations
Zorg1: ça évite de les coder
pardouin: bof là c'est juste pour faire les 6 possibilités
Zorg1: ah oui c un peu luxe
pardouin: donc ça se fait facilement à la main
3141948: Pour çà python c pratique. Je me suis remis au C aujourd'hui la joie
Zorg1: code ton hashmap en C
pardouin: mais sinon oui ça peut être très pratique d'avoir product, combinations, combinations_with_replacements, permutations, etc
leojean890: pour le C faut avoir la motiv hehe
pardouin: et c'est plus rapide que de le faire à la main
pardouin: en performance
leojean890: ah ouais softice 26 lignes nice mdr
Zorg1: CLICK CLACK CLUCK un poète le gars ^^
pardouin: D = [dict(zip(("CLICK", "CLACK", "CLUCK"), p)) for p in permutations(range(3))]
pardouin: moins relou que de se taper à la main: [{'CLICK': 0, 'CLACK': 1, 'CLUCK': 2}, {'CLICK': 0, 'CLACK': 2, 'CLUCK': 1}, {'CLICK': 1, 'CLACK': 0, 'CLUCK': 2}, {'CLICK': 1, 'CLACK': 2, 'CLUCK': 0}, {'CLICK': 2, 'CLACK': 0, 'CLUCK': 1}, {'CLICK': 2, 'CLACK': 1, 'CLUCK': 0}]
leojean890: j'avoue hehe
leojean890: re.compile('(.*?),"(.*?)",.*?,(.*?),(.*?),.*').findall
Zorg1: après ça réduit les erreurs
leojean890: jamais utilisé findall sur une regexp
pardouin: ça trouve tous les match et tenvoie une liste
leojean890: d'acc^^
leojean890: softice s'est bien marré, avec ça et des map et lambda dans tous les sens^^
leojean890: https://www.codingame.com/ide/puzzle/dumbbells-solver ne m'a pas l'air trop dur mais ça sent le piège^^
pardouin: pas de piège
leojean890: last crusade 2 je le sens pas;) ça risque de prendre bcp de temps
pardouin: dans le même genre, dominoes
leojean890: bah j'allais en gros afftecter les possibilités "sûres"
leojean890: affecter
pardouin: mais là dumbells il n'y a même pas de backtracking, juste avec de la logique tu remplies le truc
leojean890: si une masse a 2 possibilités je l'affecte pas
leojean890: et je l'affecte quand ça devient 1
3141948: Les struct en C c cool, et aussi les pointeurs, mais pour coder rapide, pas évident ou alors faut faire que çà
leojean890: voilà comme tu dis je sens une logique comme ça
pardouin: je me suis dis "je commence par les coups sur et après on backtrack"
pardouin: et en fait il y a pas eu de backtrack XD
leojean890: tant qu"on a pas atteint le nb demandé, jouer tous les coups sûrs
leojean890: si ça se trouve cette logique suffit
leojean890: car en jouant 1 coup sûr un autre devient sûr ailleurs
pardouin: oui voila
leojean890: et on dirait qu'ils demandent un nombre inférieur au max possible sur une map
Zorg1: et ça suffit pour tout remplir ,
leojean890: du coup on joue au plus sûr jusqu'à avoir le compte
3141948: Sur fireworks, j'ai fait: [chr(ord('A')+i) for i in range(5)]
pardouin: bref arrête de parler et fais ton puzzle
pardouin: et moi je fais mon click clack :p
pardouin: ahahah phil
pardouin: "ABCDE" c'était trop long :)
pardouin: ou list("ABCDE") si vraiment tu tiens à ta liste
3141948: Oui lazyphil
3141948: Ah oui pas mal
pardouin: je faisais pareil pour l'alphabet entier et en fait c'est limite plus simple de le taper à la main
3141948: C abusé, on peut pas faire ça en C.
pardouin: en ruby c'est encore plus abusé
pardouin: il comprend des trucs genre "A".."Z"
3141948: Limite je me sens coupable 😂
Zorg1: euh si je crois qu'on peut le faire en C
Zorg1: enfin str="ABCDE" et str[2]
Zorg1: ou j'ai pas compris ^^
leojean890: https://www.codingame.com/multiplayer/bot-programming/amazons semble assez chauds, je penserais à l'heuristique de s'isoler dans une grande zone.. isoler l'adv dans une petite (mais le branching est assez élevé)
leojean890: philRG si tu veux faire du C fais le plutôt sur un multi avec simu, non ?^^pour que ce soit efficace :P
leojean890: fireworks je crois que personne est en C ^^
leojean890: personne en simu*
Zorg1: mais tu ranges des haltères ou tu fais un multi ?
3141948: En C: str = {'A', 'B',...}
leojean890: moi je lis des sujets là:P
Zorg1: euh un tableau de chat phil ;-)
leojean890: je ferai le puzzle des haltères un de ces 4 ^^
Zorg1: tu dois vraiment le déclarer comme ça ?
leojean890: sûrement today
Thyl: yo leojean890
leojean890: hello Thyl
Zorg1: *tableau de char
3141948: J'ai fait du C sur un multi mais trop dur de coder la simu
Thyl: je voulais te demander comment je pouvais représenter Dots and Box
Thyl: ???
leojean890: je te suggère de faire un multi avec simu facile alors^^
leojean890: => clobber => connect 4 => etc
Thyl: On est d'accord la simu est pas facile
leojean890: Thyl pour dots and boxes j'ai même pas représenté l'état mdr
Thyl: merci beaucoup
Thyl: :pray:
leojean890: dots and boxes c'est que des if et des évals
BlaiseEbuth: C'est gabi le représentant de l'état.
leojean890: pour moi
leojean890: ah G Attal^^
leojean890: mais le tpp de D&B ont des minmax alphabeta
leojean890: top*
Zorg1: bon BlaiseEbuth connaît plus de gens au gouvernement que moi on dirait
leojean890: https://www.codingame.com/training/hard/the-total-is-right---weird-edition sujet chaud je sens niveau branching^^
BlaiseEbuth: Bah euh... Trois je dirais :thinking:
BlaiseEbuth: Ceux qu'on voit partout. Manu, gabi, et castex
leojean890: pareil et Veran
Zorg1: Attal je voyais pas trop, je vois Schiappa Castex l'autre nouille à l'EN le guignol à l'interieur Damartin
Zorg1: ah en fait c'est moi qui en connais le plus ^^
leojean890: ah ouais lui il parait qu'il a commis des crimes :P
Thyl: t'as Blancaire aussi
BlaiseEbuth: Ah ouai olivier
leojean890: ah oui éducation
BlaiseEbuth: Ouai après j'ai entendu les noms, mais c'est tout
Zorg1: Blancaire="L'autre nouille à l'EN"
Zorg1: c'est codé
Thyl: Zorg1 j'adorre
leojean890: crimes passibles de prison pour GD et un autre ;P
Thyl: pas capable de payer des serveurs pour tout le monde
Zorg1: bah en fait c'était pas les régions dans le coup en fait ?
leojean890: ah lui est peut être marrant .. https://www.codingame.com/training/hard/castle-siege
Zorg1: par vraiment Blanquer sur ce coup là
Thyl: En haut c'est l'educ
Thyl: nationale
Thyl: ça commence en haut et ça tombe en bas ;)
BlaiseEbuth: Crime et corruption c'est plus un prérequis qu'une exception en politique.
Zorg1: oui mais c'est les académies qui gèrent ça. Parait qu'à Nantes ils n'ont pas eu de pb, même si l'EN les critiquait pour leur budget info trop élevé ...
dwarfie: le gag ... c'est que les academies gerent rien en verite ...
leojean890: ceux qui sont censés diriger les autrez
leojean890: sont en fait les plus individualistes hehe
dwarfie: pour les lycees , c'est les regions . les colleges c'est les departements ... les ecoles , c'est les mairies ...
Zorg1: je t'avouerais si c'est comme au boulot avec 28 chefs au titre ronflant et un mec qui doit tout faire
Zorg1: "Pilote Opérationnel" ça en jette
dwarfie: un grand sage a dit ... "suffit pas de dire sait piloter ... faut vraiment savoir le faire , sinon on s'ecrase"
Zorg1: y a un COmite de PILotage
Zorg1: ils ont un tableau de bord en plus
Zorg1: on est sauvé
dwarfie: ouais ... mais personne aux commandes ;)
Julius2k17: le CR important le CR
Zorg1: bah si t'as que des manches au COPIL :p
b0n5a1: o/
Zorg1: \o
dwarfie: bien sur qu'il y'a des manches ... ca s'appelle des joystick et c'est tres utile pour faire bouger les curseurs ... :p
b0n5a1: Zorg1 on parlait de deepnight ... il a une entrée LD 48 : https://deepnight.net/games/nuclear-blaze/
b0n5a1: il a pas eu de mettre du son
b0n5a1: le temps*
Zorg1: attend b0n5a1 je switche de contexte
Zorg1: vieux proc ça prend une plombe
Zorg1: c'est bon j'ai fini de dl la table des pages
Zorg1: ok je clique sur ton lieu malgrès les 36 alertes
Zorg1: pas d'agressions sonores ça a l'air d'être bon
b0n5a1: lol, je le teste là, tombé dessus par hasard sur un stream d'un testeur
dwarfie: ahhh , je crame ... le traquenard de fourbe ... :D
pardouin: l'autre jour tout le monde parlait du fait que darmanin était dans ma ville
Zorg1: c'est assez joli
pardouin: je pensais qu'ils parlaient d'un pokémon sur Pokemon Go
pardouin: on a du m'expliquer
b0n5a1: erf arrosé aec flèche vers le bas ça te douche
b0n5a1: arroser avec
Zorg1: oui c'est pas mal
Zorg1: ça se prend bien en main
b0n5a1: et ça sert ^^
tkhadir: hello
tkhadir: qui veut se faire un escape game ?
tkhadir: il faut être au minimum 2 joueurs
b0n5a1: on peut pas on éteint un feu dans la centrane nucléaire là
tkhadir: ah lol oui je comprends :)
b0n5a1: tain je crève connement parfois ^^
Zorg1: pareil pas mieux
b0n5a1: après la card id rouge t'as le feu qui reprend partout, c'est là que je fais des boulettes
b0n5a1: t'apuies sur haut avant d'activer la lance...bam mort
Zorg1: oui c'est la aussi où y a barbeuc de zorg !(
Zorg1: tu sautes un peu au pif, et zou un zorg flambé
b0n5a1: les effets de feu et d'eau sont nickels...bon venant de lui, normal ^^
Zorg1: non c'est pixelisé (normal) mais c'est très classe, la fumée est vraiment bien
Zorg1: enfin il a pas eu le temps de faire le son il a en fait quand même pas mal ;-)
b0n5a1: t'avais du son ? j'ai dû zapper un truc :joy:. ou c'est la musique alors
Zorg1: non je veux dire ok il y a pas le son
b0n5a1: ha mais j'ai le "main" très bas, possible que j'ai pas capté du son du coup
Zorg1: mais bon il a fait pas mal de truc
Zorg1: non non il y a pas de son du tout
b0n5a1: erf
b0n5a1: j'ai réessayé pou entendre du son :joy:
b0n5a1: il dit avoir passé trop de temps à tweaker les effets de feu
Zorg1: et t'as sursauté parce qu'il y avait un gus qui faisait sonné tes 38 onglets ouvert sur CG ...
b0n5a1: même pas
Zorg1: tu m'étonnes ils sont très bien ses effets de feu & de fumée
b0n5a1: bah les effets dans dead cell c'est lui ^^, et il a toujours fait des trucs bluffants en pixel art
b0n5a1: https://deepnight.net/art/#&gid=1&pid=17
Zorg1: hop c'est fini, marrant son générique de fin ^^
Zorg1: mais c'est vraiment pas mal son feu qu'arrête pas de reprendre dans tous les sens
b0n5a1: ouais
b0n5a1: pas eu le courage de retry, pas trop en état pour ça ^^
b0n5a1: j'ai vu Alexandre a un outil sympa (payant) pour générer des effets pixel art, t'obtiens des effets pas mal en quelques clics et tweaks
b0n5a1: retrouvé : https://store.steampowered.com/app/939360/Pixel_FX_Designer/
b0n5a1: même tarif qu'asesprite (mais celui là c'est sur github, suffit de le compiler soi même, je l'ai fait pour tester y'a quelques mois)
Zorg1: bon on a un peu spammé le chat avec notre debrief de LD48
b0n5a1: ça ou autre chose ^^
Zorg1: manquait plus que les voix (avec rire débile de youtuber influent)
b0n5a1: bon sur world tu te fais kick pour moins que ça :grinning:
Zorg1: oui mais sur world ils ont les jeunes indiens qui se prennent pour des génies du code. ça doit pas être marrant tous les jours :p
b0n5a1: quoique on a bien spammé des lien chelous YT avec BlaiseEbuth et astro...
Zorg1: oui vous vous êtes laché
b0n5a1: meuh non, c'était light
Zorg1: je m'étais marré avec l'imitation de Ramstein par UltraVomit
Zorg1: je sais pas si je l'avais déjà vu, mais ça m'a bien fait marré
b0n5a1: je connaissais déjà ça ^^
b0n5a1: c'est con les vidéos de lana faut s'abonner pour les voir...peut même pas finir de regarder un truc que j'avais laissé
Zorg1: oui twitch j'aime pas trop mais bon
Zorg1: on va faire avec
b0n5a1: bah d'autres laissent en libre accès
Zorg1: oui je vois toutes les vidéos de JBM
b0n5a1: lol... https://www.twitch.tv/joecreates
b0n5a1: c'est pour JBM ça
b0n5a1: si is regarde
JBM: je peux pas mettre le son, qu'est-ce que je rate?
b0n5a1: un pseudo rubik à résoudre dans un jeu
b0n5a1: ha il a réussi
b0n5a1: y'avait que les 4 coins à gérer, tout le reste en gris
JBM: et il a SAVE THE SHIP!!!1!
b0n5a1: ouaip
JBM: t'es vraiment un accroc à twitch b0n5a1
b0n5a1: non
JBM: t'es tout le temps en train de nous coller des liens
b0n5a1: seulement depuis 3 jours avec la LD
Zorg1: y a quand même pas mal de sous marin dans le LD
JBM: avec ça ni laise ni zorg ont rien stream, ou j'ai loupé un épisode?
b0n5a1: et de mineurs et de plogeurs Zorg1
Zorg1: j'avais vu un gars qui avait fait une imitation de "cultist simulator" avec un theme aussi glauque d'ailleurs
b0n5a1: hier soir avec vimlark...il découvrait un clone de boulder dash en mode "wouhou awesome"....plein n'avaient jamais vu ça à part un ç qui ça rappelait un jeu mmobile ^^
Zorg1: ^^
JBM: y'a combien de catégories fondamentales de jeux?
JBM: tetris, boulder dash, candy crush et quake?
b0n5a1: le thème c'était deeper and deeper donc beacoup de mineurs, plongée JBM
b0n5a1: ha
b0n5a1: faut compter "shower with your dad 2015" ?
b0n5a1: :joy:
Zorg1: toi et tes jeux chelous ...
b0n5a1: (ça existe...)
Zorg1: oui tu nous as déjà balancé le lien
pardouin: portal ?
pardouin: c'est catégorie candy crush ? D:
b0n5a1: dadathlon...
b0n5a1: c'est pô mes jeux ^^
Zorg1: t'étais pas obligé de rebalancer le lien non plus ...
b0n5a1: allez je me ratrappe : https://www.twitch.tv/alexandre2bi
Zorg1: je te surveille toi
b0n5a1: ^^
Zorg1: :spy:
Zorg1: bon faut que je finisse Burglar's Dilemna, pardouin a du déjà le torcher
JBM: ah ouiiii c'est celui qu'avait la voix suave
b0n5a1: lol, oui
Zorg1: vous me faites peur les deux là
b0n5a1: non mais en contraste y'avais une voix d'un mec...tu l'entends t'as envie de le baffer Zorg1 ^^
b0n5a1: la voix stressante et chiante
pardouin: oui j'en ai fait un autre depuis
pardouin: si tu veux un hard surclassé: https://www.codingame.com/training/hard/to-skys-edge
pardouin: me suis fait chier à le faire avec un deque alors que l'approche la plus brutasse passait
b0n5a1: y'en a un similaire à ça je crois pardouin
b0n5a1: ha non
b0n5a1: je confondais avec...lui même ^^
pardouin: je clique sur des twichs au hasard
pardouin: je connais pas trop ce délire, vite fait vu des best off
pardouin: mdr: https://www.twitch.tv/missypwns
pardouin: j'imagine qu'il y a beaucoup ce genre de truc
b0n5a1: houlà ça sent la cruche dans une piscine sur une banane ça vu le titre...y'en a plusieurs comme ça
pardouin: je dirai à ma fille "si l'école ça marche pas trop trop t'inquiète il y a toujours des plans B"
b0n5a1: bingo, y'a la cruche et la piscine et tout
b0n5a1: y'a 2k à 3k personnes dessus en plus souvent :joy:
b0n5a1: y'en a parfois un comme ça dans cha^nes recommandées
pardouin: bon faut que je trouve un puzzle faisable en 40min
b0n5a1: pardouin : https://media.karousell.com/media/photos/products/2019/04/14/9_pieces_wooden_jigsaw_puzzles_ducks_1555229566_b7542723_progressive.jpg
b0n5a1: de rien....
pardouin: XD
pardouin: je vais partir sur ça, fait par plus de 500 personnes: https://www.codingame.com/training/hard/zergling-rush
b0n5a1: fait y'a environ 4 ans apparemment ^^
pardouin: sinon y'a cpu emulator qui a l'air simple aussi, après le forth de Zorg ce sera sans doute du gâteau
b0n5a1: simple cpu emulation 1 ?
pardouin: ah oui zergling c'est vraiment pas compliqué
pardouin: j'imagine que quand tu n'as fait aucun compilateur/interpreteur c'est intimidant mais après le truc de Zorg avec ses fonctions récursives et ses if emboîtés je vois pas trop ce qui me ferait peur
b0n5a1: bah celui là est facile
dwarfie: trivial
dwarfie: du moment qu'on sait lire un sujet :D
b0n5a1: pardouin celui là est pas mal : https://www.codingame.com/training/expert/breach
pardouin: ok je note mais là je finis les hard d'abord
pardouin: et je sens bien la douille genre les 5 derniers % super durs
pardouin: on verra bien ^^
Zorg1: ok 6000 vues pour une nana en maillot de bain sur un canard gonflable dans une piscine
b0n5a1: ils sont 6k dessus là ?
b0n5a1: :joy:
b0n5a1: enfin 6001 avec toi
b0n5a1: hahaha
Zorg1: 5770 pour être exact
Zorg1: je suis curieux je découvre twitch
Zorg1: je peux pas regarder éternellement les paluches de JBM s'agitant autour d'un cube
leojean890: omg facile à reverse celui-ci, https://www.codingame.com/ide/puzzle/castle-siege l'espace des solutions possibles étant (WIN|LOSE)[0-9]
leojean890: bon je préfère le résoudre que le reverse^^
b0n5a1: celle que j'ai cliqué y'a 2 jours dans chaînes recommandées elle était sur une banane gonflable avec des noms de viewers écrits dessus
Zorg1: y a un public
Khoa007: il y a un expert c# ici?
b0n5a1: "youpi merci de subsribe, j'écris ton nom sur ma banane"
b0n5a1: :face_palm:
leojean890: ça s'appelle la stratégie commerciale hehe
Zorg1: Khoa007 pose ta question ça ira plus vite, sinon personne ne te répondera
pardouin: pose toujours ta question, on est quelques uns à connaître un minimum
b0n5a1: moyenne d'âge 13 ans surement Zorg1 ^^
b0n5a1: "maman tu me mets 5 euros pour mon compte twitch ???" :joy:
b0n5a1: "c'est pour avoir mon nom sur la banane de la dame..."
Zorg1: "c'est pour regarder recher je te jure"
b0n5a1: un mec fait la même chose il a le FBI qui pète sa porte dans les 20 min ^^
b0n5a1: "hey gamin, viens tchatter avec Robert sur sa banane gonflable dans sa piscine"...
pardouin: le niveau de flemme quand tu regex juste pour découper 4 par 4
pardouin: import re for ins in re.findall(r'.{4}', input()):
print(ins)
l1444: Salut !! vous savez comment optimisé des boucles en Lua??
b0n5a1: Zorg1 t'as un client
**b0n5a1 s'enfuit
Zorg1: comment ça "optimiser des boucles" ?
dwarfie: les lisser ? ;)
Zorg1: l1444 : en fait t'essais de faire quoi ? dans quel puzzle ?
b0n5a1: les couper
Zorg1: oui ça c'est mes tifs, pas couper depuis 4 mois, ça boucle comme c'est pas permis
pardouin: bon allez bonne nuit
pardouin: o/
b0n5a1: bn
Zorg1: bn
BlaiseEbuth: Flrmflll ping quoi ?
b0n5a1: fllmmrrf
BlaiseEbuth: J'vois ça...
Zorg1: les gars quand on leur répond pas dans la dizaine de seconde ils se barrent ?
PythonSlayer: c'est pas un drapeau nazi dans sa photo de profil?
Zorg1: bah y a au moins deux croix gammés
BlaiseEbuth: svastika
PythonSlayer: Aie c'est pas top top
PythonSlayer: c'est dans dans lautre sens?
PythonSlayer: et merci Zorg1 pour le tip avec les long dans les struct j'ai presque un truc qui marche lol
Zorg1: ah le nombre d'éléments
BlaiseEbuth: Beh non. C'est un symbole qui a des milliers d'années et qui est utilisé par diverses religion, notament l'indouisme et le boudisme.
PythonSlayer: C'est pas dans l'autre sens ce symbole?
b0n5a1: alors...rien que sur google map, l'emplacement de temples japonais c'est une svastika
BlaiseEbuth: Spa parce que y'a un con moustachu qui la dessinait partout que c'est SON symbole.
b0n5a1: certains temples
b0n5a1: et y'en a partout en ornement
BlaiseEbuth: Et comme c'est un personnage de manga sur son image...
Zorg1: bon la svastiska noire dans un cercle blanc sur un brassard rouge ...
Zorg1: comment dire
BlaiseEbuth: Tu vois le mal partout.
BlaiseEbuth: Ouai non... En fait ça n'a rien à voir avec l'anime. Et le fond est sans équivoque....
b0n5a1: tapes ça par exemple en recherche : kinkakujicho google map
Zorg1: BlaiseEbuth : bah le con moustachu a bien réussi à rendre tabou un prénom alors un symbole ...
BlaiseEbuth: Bwoah c'est mignon Adolf...
PythonSlayer: Et une moustache ^^
BlaiseEbuth: 'dodolf :3
b0n5a1: c'est un renne du Père Noêl non, Adolf...avec le nez rouge ?
b0n5a1: je sors...
b0n5a1: ça ressemble...
Zorg1: bref tout ça pour dire que l'avatar est un peu *hum* limite
PythonSlayer: A banir ! Au bucher!
BlaiseEbuth: Il est plus en ligne.
leojean890: le film "le prenom" était sympa avec Adolphe
Zorg1: Adolphe Thiers ?
leojean890: adolphe, comme le fameux écrivain qu'on aime tant !
leojean890: anyway encore un puzzle difficile pas trop difficile de terminé.. https://www.codingame.com/training/hard/castle-siege
leojean890: pas encore fait les haltères du coup
Zorg1: bon réussi à finir "Burglar's Dilemna"
Zorg1: pas trop difficile
leojean890: pas essayé encore :) comme je suis entrain de faire les hard, je le ferai peut être un de ces 4