Chat:Fr/2022-04-08
I_love_CoC: Bonjour à tous
I_love_CoC: Tortue licorne Automaton2000
Automaton2000: si tu sais que je suis en bronze
Remi.: Salut tout le monde
I_love_CoC: o/
Remi.: Non Automaton200 je ne savais pas, je te croyais toujours en bois1
Remi.: * Automaton2000
I_love_CoC: Tu ne t'es pas couché Remi.?
Automaton2000: ça me rappelle le gars qui a fait un peu de marge
I_love_CoC: c'est rare de te voir à cette heure matinale il me semble
Remi.: Ben non je suis une machine je ne dors jamais ^^
Remi.: Quand le chiot pleure à 7h pour sortir en général je me connecte peu de temps après.
Remi.: Mais c'est vrai qu'en général je déconnecte avant 8h du coup je ne vois pas les gens qui se connectent après.
I_love_CoC: la joie des animaux de compagnie^^
Remi.: C'est surtout parce que c'est un bébé, les autres chiens sont capables d'attendre qu'on se lève. Déjà il est propre je ne vais pas me plaindre ^^
I_love_CoC: j'avoue^^
nicola: O_o
nicola: Les gens avouent de drôles de choses, de nos jours.
I_love_CoC: tu sais nicola il ne faut pas se voiler la face quand on avoue on avoue^^
I_love_CoC: je reconnais que mes formulations de phrases ne sont pas toujours les plus adaptées ^^
nicola: J’avoue une faute ou une erreur, personnellement.
I_love_CoC: déformation de langage de la street nicola mais j'avoue mon erreur de langage^^
nicola: La strite ? O_o
nicola: Mais tu jactes comme tu veux.
nicola: C’est juste que les vieux cons risquent de ne pas entraver, c’est tout.
nicola: Ou pire, de capter de travers.
I_love_CoC: j'ai foi dans la plasticité cérébrale même celle des vieux cons^^
I_love_CoC: ils entraveront quelque chose si ils s'en donnent les moyens^^
nicola: Ils en ont les moyens mais quand les djeunz, par exemple, confondent position latérale de sécurité et position fœtale, parfois ils se posent des questions. :p
I_love_CoC: :joy:
I_love_CoC: je vois de quoi tu parles, je suis prof en CFA et je reconnais que le vocabulaire et les liens lexicaux sont pas évidents pour tout le monde^^
Remi.: Encore un prof ? :O mais c'est une invasion
I_love_CoC: mes éléves sont en PLS (jsutement) si je leur demande de choisir entre qualitatif et quantitatif pour qualifier un caractére^^
I_love_CoC: il faut une bonne minute d'explications pour qu'ils constatent que dans quantitatif il y a le mot quantit(é)
nicola: Et dans qualitatif, il y a qualité.
I_love_CoC: toi t'es bon^^
nicola: Et que qualitatif ne veut pas dire de qualité mais relatif à la qualité.
nicola: :thumbsup:
I_love_CoC: tu ne voudrais pas passer un CAP par hasard?^^
nicola: J’ai déjà mon brevet.
nicola: Mais après tout, si je change de boulot, oui, je n’y vois pas d’inconvénient.
I_love_CoC: merde encore un sur-diplômé^^
nicola: Cela dit, le CAP est au-dessus du brevet.
nicola: Non ?
I_love_CoC: non en enseignement général c'est un niveau brevet léger
nicola: Dans la hiérarchie des diplômes.
I_love_CoC: mais la possession du brevet ne te dispense pas de repasser l'enseignement général en effet
I_love_CoC: à la différence des diplomes au dela du brevert
I_love_CoC: brevet*
I_love_CoC: Remi. : désolé pour cette invasion mais que veux tu l'année scolaire touche bientôt à sa fin et il faut bien s'occuper ^^
nicola: Et puis bon, on se forme ici, c’est mieux que le truc du ministère.
Remi.: mdr
nicola: J’ai plus appris ici qu’en stage.
nicola: Pas de la faute des collègues, hein.
nicola: La formation continue des enseignants a été démolie.
I_love_CoC: en tout cas, pour ma part, sans CG je n'aurais jamais pensé que l'apprentissage du code me plairait
nicola: Pour moi, ça a été le projet euler, puis Code abbey, puis ici.
I_love_CoC: projet euler et code Abbey sont d'autres sites du même style?
nicola: Projet Euler, c’est très orienté sur les mathématiques.
I_love_CoC: ici aussi je trouve
nicola: Code abbey, c’est un peu comme ici mais plus basique et plus diversifié.
nicola: Projet Euler, c’est VRAIMENT mathématique.
I_love_CoC: ok
nicola: Tu n’as pas de script à rentrer, juste une solution.
nicola: Le dernier que j’ai résolu (il y a déjà un bail) : https://projecteuler.net/problem=650
nicola: Tu as même une puzzle où il faut rédoudre une cinquantaine de sudokus.
nicola: *résoudre
I_love_CoC: en effet
Remi.: Ici il y a quelques puzzles mathématiques, mais c'est quand même surtout orienté IA.
I_love_CoC: c'est bien mathématiques
nicola: Tu peux les résoudre à la main, ou avec un script, comme tu veux.
nicola: Les solutions à la main sont aussi valides que les solutions instrumentées.
nicola: Comme ici, une fois la solution trouvée, tu as accès à celles des autres.
nicola: Enfin, les cinquante première solutions.
I_love_CoC: ça faisait quelques années que je n'avait pas revu des énoncés avec des sigma^^
I_love_CoC: n'avais*
I_love_CoC: ou navet* je ne sais plus
I_love_CoC: ^^
nicola: Souvent, les énigmes sont emboîtées.
nicola: Du genre une somme de sommes de sommes avec une ruse pour simplifier.
nicola: Du genre permuter deux symboles de sommation.
I_love_CoC: ça me rappelle mes exercices de prépa
nicola: Parfois, connaître le bon algorithme donne la solution en 1 seconde, sinon ça tourne pendant six mois.
nicola: :kissing::notes:
I_love_CoC: j'ai toujours adoré ces petits problémes où ta vision de la mécanique des opérations et presque plus importantes que ton savoir théorique
I_love_CoC: importante*
nicola: Un que j’aimais bien donner en colle : calculer la dérivée n-ième de X^2 (1+X)^n.
nicola: Faisable de tête.
I_love_CoC: c'est X^2*(1+X)^n que tu as écris ou X^(2*(1+X)^n)
nicola: Le premier.
I_love_CoC: ok
Stilgart: nicola: étudier la fonction x -> arcsin(1+x^2).
Stilgart: sur un malentendu, ça peut être très drôle
I_love_CoC: cast_id c'est pas le gars qui présentait loft story?
I_love_CoC: désolé
GiB: Stilgart tu attends que le candidat élargisse l'ensemble de définition aux complexes ?
Stilgart: juste qu'il se souvienne qu'on commence par l'ensemble de définition
Stilgart: et qu'on passe à un vrai exo
Stilgart: (on était sur de l'exo de colle de début de sup)
Bon[]Crayon: Salut à tous et à toutes.
Bon[]Crayon: Slt Automaton2000 le bosss
Automaton2000: une fois que tu le vois pas
I_love_CoC: o/ Bon[]Crayon
Bon[]Crayon: \o
Bon[]Crayon: Quoi de 9 Automaton2000 ?
Automaton2000: non je n'ai pas non plus
Bon[]Crayon: Automaton2000 non non non
Automaton2000: c'est que les 7 premiers tours, tu fais juste un bfs
Bon[]Crayon: Automaton2000 ah bon ! vous me voyez suppris
Automaton2000: bah je sais pas si je suis dans la même case
Bon[]Crayon: Automaton2000 :joy:
Automaton2000: le fait de faire des classes
Bon[]Crayon: Automaton2000 :joy:
Automaton2000: yo tout l'monde ! automaton2000, automatonnn !
Bon[]Crayon: Automaton2000 yo
Automaton2000: en fait faut que je fasse un peu de respect
dostros: Les gars quelqu'un a déja fait shadow of the knight épisode 1 svp
VilBoub: oui, c'est juste une double dichotomie... x puis y
dostros: J'avoue être bloqué à un moment mon code va pas assez vite
dostros: Ya pas quelqu'un qui voudrait regarder mon code voir ce qui ne va pas , s'il vous plait ?
Bon[]Crayon: envois le lien
dostros: https://www.codingame.com/ide/puzzle/shadows-of-the-knight-episode-1
Bon[]Crayon: bah non de ton code
VilBoub: si tu sais faire une dichotomie, normalement ça passe sans time-out
dostros: Je sais pas comment partager du code facilement
Bon[]Crayon: copier coller dans le chat
dostros: http://chat.codingame.com/pastebin/73d85374-5200-4825-951a-4d95557b324b
dostros: http://chat.codingame.com/pastebin/c5448544-63f4-4acd-be55-0812a51e65a4
dostros: Je suis très débutant comme vous le verrez ^^
dostros: Pendant un moment je pensais que c'était parce que ca arondissait pas en dessous donc j'ai tenté de math.floor mais sans succès et je suis pas sur que ce soit le problème
Bon[]Crayon: Il faut optimiser la zone de découpe.
dostros: Je vais voir comment faire ça ^^
Bon[]Crayon: La position de Batman ne fait pas partir de la prochaine zone de recherche.
Bon[]Crayon: int maxX = W;
Bon[]Crayon: C'est pareil.
Bon[]Crayon: minX = 0
Bon[]Crayon: maxX = ?
dostros: Int maxX = W c'était pour pas modifier les paramètres de bases mais effectivement c'est la mêmel chose
dostros: J'avoue que je comprend pas trop par ou chercher pour otpimiser
VilBoub: quand tu coupe ton intervalle en deux, ne reprends pas la valeur du milieu pour la suite...
dostros: posY = posY - ((maxY - minY)/2); là tu veux dire, que je reprenne pas le posY ?
VilBoub: non, tu décale de 1
VilBoub: la dichotomie... tu pars de [a;b] avec c=(a+b)/2
VilBoub: au lieu de prendre [a;c] ou [c;b], tu prends [a;c-1] ou [c+1;b]
dostros: Je dois être bête je vais potasser ça parce que je l'ai aps, mais merci beaucoup d'essayer ^^
Stilgart: on ne le dira jamais assez, mais pour shadow of the knight, il faut être *précis*
dostros: Ouai sans doute ^^, j'ai décalé de 1 en moins quand j'allais vers le haut ou la gauche, je comptais décaler de 1 en plus dans les autres sens mais non c'est pas ca non plus^^
dostros: Je débute mais je vais trouver
Bon[]Crayon: relis le message de Vil boub
Stilgart: spoiler, tu comptais bien faire
Serge_Billault: J'ai essayé de faire un peu de pub pour CodinGame auprés de boites du jeu vidéo mais je ne suis pas sur que cela portera ses fruits. Ils ont une fâcheuse tendance à tous se considérer individuellement les meilleurs du monde même s'ils n'ont jamais entendu parler d'utilisateurs comme le balarusse "tourist" sur CodinGame.
Magus: C'est qui tourist ?
Serge_Billault: https://en.wikipedia.org/wiki/Gennady_Korotkevich
pardouin: ah j'avais même pas percuté que c'était lui
pardouin: je l'avais déjà vu passer dans des classements CG mais sans aller voir son profil
Serge_Billault: Si je désire créer un puzzle avec graphismes, puis je créer moi même mes graphs ou dois je utiliser une bibliotheque fournie ?
pardouin: il faut utiliser le sdk
pardouin: en gros du Java
Serge_Billault: et les graps sont dans le sdk?
pardouin: mais j'ai jamais trop mis le nez dedans
Serge_Billault: ah, ok
pardouin: tu peux utilliser tes propres assets
Serge_Billault: cool, je touche un petit peu en graph, je sais faire des mickeys: https://www.artstation.com/serge_billault
Serge_Billault: il y aura surement une taille d'upload limite mais je suis habitué
pardouin: https://www.codingame.com/playgrounds/25775/codingame-sdk-documentation/introduction
Serge_Billault: merci!
Serge_Billault: ah, je vois que c'est uniquement de la 2d, c'est dommage, la 3d ca pourrait être cool
pardouin: tu peux faire de la 3D
pardouin: mais c'est à toi de faire le moteur si j'ai bien compris
Serge_Billault: alors quand ils disent sprites and shapes ils disent pas tout?
pardouin: eurler a fait un puzzle en 3D
Serge_Billault: ah, k, faut faire le moteur
pardouin: https://www.codingame.com/training/hard/blockout
pardouin: faudrait demander à euler comment il a fait exactement
pardouin: mais ça sent le moteur fait à la main
pardouin: dans tous les cas pour de la 3D je doute que tu puisses faire beaucoup mieux qu'un truc sans vrais assets 3D, juste à base de formes géométriques
pardouin: mais bon c'est déjà pas mal
Serge_Billault: de toute façon le temps que je digère la doc je suis occupé pour un moment
Stilgart: Serge_Billault: pars du principe que le sdk ne te fournit rien
Stilgart: il fut un temps où tu pouvais causer avec [CG]jupoulton pour la partie rendu, mais j'ignore c'est cette info est encore valide
Serge_Billault: c'est pas grave des moteurs de rendu j'en ai fait puisque je faisais la partie moteur audn j'etais dans des studios
Serge_Billault: le plus dur ca va être de trouver un puzzle dont l'interêt ne le propulse pas immédiatement dans les oubliettes de ceux qui le valideront
nicola: tourist se promène avec un coffre à pattes ?
Zorg1: :thumbsup:
Serge_Billault: soyons taquin, idée puzzle: un réseau de gasoducs achemine du gaz à destination de Groland. Trouvez les meilleur pays avec lesquels passer un contrat d'acheminement afin de payer le moins de taxe possible et en même temps d'avoir le chemin le plus court possible.
nicola: En même temps ? Tu cherches les ennuis, toi. ^^
Serge_Billault: oui, je viens juste de raliser :)
Serge_Billault: mais ce la peut se comprendre comme "si la somme des taxes à payer est plus importante que pour un chemin plus long...'
nicola: On peut optimiser fiscalement ?
Serge_Billault: quelle vâche de bonne idée!
Serge_Billault: alors, je le note...
Serge_Billault: J'ai regardé il y a peu un docu sur la conception des super tankers qui livrent le gaz et le pétrole. Rien que si t'utilise pas la bonne peinture sur le pont, il me faudrait une vie entière pour rembourser les pertes dues aux évaporations en période chaude...
Serge_Billault: ils doivent avoir le sommeil léger le ingénieurs...
Serge_Billault: en même temps je vois pas trop comment ils arrivent à pas perdre 1 tonne en évaporation sur plusieures semaines quand ils en transporteent 270.000
Serge_Billault: quand suez n'est pas bloqué par un accident, bien entendu :)
Paulo_Del_Rey: Bonjour, c'est quoi le petit tip pour réussir le dernier jeu de test de shadows of the night ? °_° Forcément sur le dernier round je perds à une case, le jeu me dit : cool ton algo, mais en fait il manque une opti essentielle, mais je vois pas laquelle
Paulo_Del_Rey: Ok non laissez je suis neuneu ^^ j'ai trouvé
dwarfie: cuit et simulé
Stilgart: ça va pas aider pour le prochain contest de contest tout ça
Zorg1: la solution du contest de contest sera une chèvre
Zorg1: o/ tout le monde
Stilgart: Automaton2000: dessine nous la chèvre
Zorg1: \o Automaton2000
Automaton2000: bon va falloir que je le fais pas
Automaton2000: tu peux faire un truc malin avec des rotations ou je sais plus comment ça marche
Stilgart: Automaton2000: tu sais pas comment ça marche, et dessine nous une chèvre !
Automaton2000: est-ce que tu as un autre algo efficace mais j'en vois pas à froid
Stilgart: Automaton2000: fais gaffe, si tu continues, on va finir par conclure que tu es moins doué que le bot à taco d'à coté
Automaton2000: je me suis dit que non j'allais être sympa avec cg
dwarfie: Automaton2000 : leche cul
Automaton2000: si j'ai un bug dans ma simu
dwarfie: Automaton2000 : t'as pas de simu dans ton bug ?
Automaton2000: cg souffre déjà assez comme ça :)
Zorg1: Automaton2000 futur modo ?
Automaton2000: bah non ça marche pas
Stilgart: Automaton2000: sympa avec Chevre Goat ?
Automaton2000: oui du coup je fais pas de coc
Stilgart: :joy: 08:01PM
Zorg1: Automaton2000 tu vas faire une euthanasie ?
Automaton2000: j'ai besoin de faire un peu de mal a comprendre ce que je veux faire un puzzle
Stilgart: Automaton2000: tu as deux (maybe) free xp de plus aujourd'hui
Automaton2000: tu as le temps de réponse pour un tour de jeu
Zorg1: ah le puzzle de nicola
dwarfie: donc un qui merite le titre de sujet le moins clair du mois
Zorg1: bon il y en a déjà un sur le même sujet mais c'est spolié les deux puzzles de dire lequel :(
Stilgart: c'est dans quel pays qu'on paie avec des palm et des foots ?
Zorg1: le pays où l'on achète son vin au métre
Zorg1: Automaton2000 une idée pour se préparer au Contest ?
Automaton2000: salut à tous et aux bots Zorg1 & automatonnn
Zorg1: :'
Zorg1: :(
Stilgart: bienvenue au club Zorg1
Stilgart: Automaton2000: ton dessin...
Automaton2000: si tu me dis que t'as codé autre chose pour le learn de début de partie
dwarfie: un bot est mort , mais l'autre ne le sait pas encore ;)
Zorg1: i'm not a bot i'm a free number !
Stilgart: :D
dostros: Si quelqu'un a la soluce pour shadow of the knight episode 1 svp, car même avec des indices je trouve pas la fin
Stilgart: il faut être *précis*
Stilgart: prends un papier et un crayon, et résous à la main un test que tu ne passes pas avec ton code
dostros: Ouai ouai j'essaie, mon nombre veut pas aller en dessous de 1 il reste à un et du coup j'ai passez de coup
dostros: j'ai peut être un truc^^
Zorg1: du moment que tu proclames pas que les tests sont buggés ;-)
dostros: Bah non je suis hyper débutant je sais bien que c'est moi le prolbème^^
b0n5a1: o/
Stilgart: feuille à petit carreau, coloriage des endroits où la bombe ne peut pas être, choix du meilleur coup possible, et on recommence... ;)
Sirios: \o b0n5a1
Zorg1: o/
dostros: ouai après j'ai un immeuble de 100 sur 100 ^^
Stilgart: feuille excel, couleur de fond, toussa
Stilgart: mais bon, pour ce que tu dois voir, tu peux sans doute prendre un test plus petit
Stilgart: le truc, c'est de comprendre ce qui est le plus efficace possible, et de l'appliquer à la lettre
Sirios: dostros, quand tu dis que tu ne trouves pas la fin, tu veux dire que tu passes les premiers tests?
Stilgart: (un petit +1 , <= au lieu de <, ou un arrondi mal géré, et c'est le drame)
dostros: je passe tous les tests sauf l'avant dernier
b0n5a1: tain j'avais encore le message bot de Pécresse d'il y a 2 jours "Je tiens à vous parler de femme à femme..." :D
b0n5a1: bravo le ciblage des numéros par rapport au message :rofl:
Stilgart: Automaton2000: tu es conseillé personnel de Pécresse maintenant ?
Automaton2000: y en a qui font ça
Stilgart: ça ne fera sans doute pas de toi le futur premier ministre, tu en es conscient Automaton2000 ?
Automaton2000: si jamais tu as un message d'erreur ?
Zorg1: ah b0n5a1 t'as eu ça
Pedrito_B: Salut tout le monde, j'aimerai bien progresser au classement. Je cherche un peu de doc sur comment "optimiser" mon code C++ pour le satané O1 optimisation. Les trucs à éviter, etc... compiler explorer c'est un peu trop trial and error. Merci
Zorg1: dès que j'ai entendu "Bonjour c'est Valérie Pécresse" j'ai racroché ^^
Stilgart: tu as fait quel optim ?
Pedrito_B: la doc pragma
Zorg1: un bot avec une bande ;-)
JBM: pour progresser au classement y'a qu'une solution: éliminer ceux qui te précèdent
Pedrito_B: mais c'est surtout les classes ou les structure avancés les trucs comme ç
Zorg1: enfin une bande
Stilgart: JBM: non
JBM: ouais ça envoie pas du rêve
Stilgart: tu ne vois pas assez large
b0n5a1: ouais j'ai eu ça ... mon répondeur m'a spammé comme un fou...pour ça
Stilgart: tu peux aussi créer des milliers de comptes alternatifs pour bourrer les urnes^Wleaderboards
JBM: ça a des inconvénients, mais je commence à voir l'intérêt
JBM: créer des comptes alternatifs, ça fait pas progresser ton classement
Pedrito_B: u npeu plus a la loyale
b0n5a1: JBM c'était une bande
Stilgart: ça fait surtout plaisir à CG, et Automaton2000 a dit qu'il fallait être sympa avec CG
Automaton2000: c'est pas la même chose ?
b0n5a1: oui
JBM: brave new world comme disait l'autre
b0n5a1: Pécresse et Zemmour s'en servent, peut être d'autres
Pedrito_B: le truc paradoxal c'est si tu tapes perf c++, on te dit de mettre O3 :-)
JBM: je crois que je pourrai même pas voter au premier tour
b0n5a1: plusieurs 10aines de milliers d'appels chacun je crois ... d'après TF1 hier
Zorg1: c'est un truc qui vient d'amérique je suppose ?
Ezuker: Pas de politique ici. Merci.
Zorg1: enfin des stats
Zorg1: *states
Stilgart: :scream:
b0n5a1: Ezuker c'est un bot code of conduct ? :rofl:
Stilgart: il a dit stats après avertissements
b0n5a1: ha non y'a pas de warning
Zorg1: P(First Warning) tend vers 0
Zorg1: ok c'est pas des stats
Stilgart: ça c'est de la proba, rien à voir
**Stilgart tend la bobine à JBM
b0n5a1: du moment que t'as l'aiguille...
Zorg1: mais ça t'éloigne du Minotaure
Ezuker: ptdrrr
Ezuker: D'ailleurs j'ai une petite questionnn
Zorg1: bah go
b0n5a1: bah dart
Ezuker: Je suis sur C++ je fais un jeu BotProgramming
JBM: pourquoi tu triples toutes tes finalesss?
Ezuker: Et en faites j'aimerai bien récuperer des coordonées sauf qu'il n'y a pas de tableaux
Ezuker: comment faire
Ezuker: (désolé pour les fautes)
Zorg1: il doit taper sur un clavier de TO7 gomme
JBM: ah oui je comprends le souci
Zorg1: ah merde MO5
JBM: gg de l'avoir relié au net contemporain
Zorg1: TO7 c'était membranne
b0n5a1: GOSUB 2000
Zorg1: bot programming c'est un puzzle CG ?
b0n5a1: Ezuker ta "question" est juste incompréhensible
Ezuker: je sais merci
Stilgart: commence par... créer un tableau ?
Zorg1: on peut te répondre avec une réponse incompréhensible mais pas sûr que ça aide ^^
Ezuker: La map est en 2d. Sauf qu'il n'y a pas de tableaux
JBM: y'a aussi la technique Stilgart de répondre des génériques appropriés
b0n5a1: gné?
Zorg1: "papier crayon"
Stilgart: JBM: d'expérience, ça marche assez souvent
JBM: à défaut d'aider, ça oriente
dostros: ouai bah moi même papier crayon je comprend pas ^^
Stilgart: au pire, tu as une question mieux posée après :)
Zorg1: Ezuker : mais c'est quoi exactement ton truc ? ou t'essaies de nous faire deviner une chèvre qui mange un chou ?
b0n5a1: bah ouais mais quand on sait pas quoi faire d'un stylo bic et d'une cassette audio aussi...toute de suite papier + crayon c'est abstrait :D
Stilgart: Automaton2000: dessine nous un loup
Automaton2000: c'est ce que j'ai dit ?
Zorg1: bah tu rembobines ta cassette avec ton stylo bic
b0n5a1: chut donnes pas les hack lifr de vieux toi :D
Ezuker: Mais j'y arrive pas
Stilgart: Automaton2000: il doit surement exister un univers parallèle dans lequel tu as dit ça, oui
Automaton2000: je fais la même chose
Ezuker: Qui est bon en C++
dostros: alors moi il arrondit audessus alors que je veux qu'il arondisse en dessous
Ezuker: J'explique tout ça sur discord
Stilgart: ça te donne une piste dostros
Stilgart: disquoi ?
b0n5a1: ha haha ha discord
b0n5a1: désolé...
Ezuker: Je veux juste expliquer mon problème mais sur discord
Ezuker: en chat vu que je peux envoyé des images
b0n5a1: si t'es assez clair t'as pas besoin d'images
Zorg1: bah pê qqn te répondra sur discord
Ezuker: Non jsuis nul pour expliquer laisse tomber ;-;
Zorg1: malheureusement nous ne sommes pas télépathes
Ezuker: Bon. J'ai une map en 2d, sauf que dans le squelette de base, il y a un for (int i = 0; i < height; i++) {
string row; cin >> row; cin.ignore(); }
Ezuker: mince mal indenté
Stilgart: pas grave
Stilgart: 0. jète le squelette
Ezuker: J'aimerai par exemple retrouver les infos de la case 2 3
Stilgart: 1. code
Ezuker: Mais je peux pas
Stilgart: 2. ???
Stilgart: 3. profit
b0n5a1: bin mets tout dans un array ou un vector
Ezuker: jdois faire mon propre squelette ?
Stilgart: c'est probablement mieux oui
Zorg1: le squelette dans l'armoire de fer ?
Stilgart: si tu veux un tableau, tu utiliseras surement une variable de type tableau
b0n5a1: vector<string> world(height); for (string& s : world) cin >> s;
Stilgart: (ce que le squelette fourni ne fait pas, et qui est évidement pas top)
b0n5a1: char c = world[3][2];
Sirios: si tu es bourrin tu peux y aller sur les muscles directe
Sirios: (blague pourrie de bio déso)
Ezuker: merci bon5a1
Stilgart: b0n5a1 nous a sorti du muscle là
**Stilgart aurait fait moins bourrin que ça :p
b0n5a1: pas sûr que ça le sauvera...
Stilgart: s'il a appris que le stub fourni du code moisi, il aura gagné sa journée
b0n5a1: :D
Zorg1: (blague à part j'ai toujours pas compris la question initiale)
Ezuker: eh
Ezuker: ça marche bon5a1
Stilgart: Zorg1: son problème est juste que le stub se contente de lire dans une boucle sans rien stocker
b0n5a1: bah je sais que ça marche
Stilgart: et que lui veut un tableau pour récupérer les données après la boucle
Zorg1: ah ok
Zorg1: bah yaka coder un tableau ?
Ezuker: mais faut que je fasse à chaque fois ça avant de commencer un truc de bot programming ?
Stilgart: c'est ce que j'ai dit, oui :)
Zorg1: ça dépend
b0n5a1: bah le but c'est de tout coder oui
Remi.: Salut tout le monde
b0n5a1: o/ Remi.
Zorg1: \o
Ezuker: Parce que tu vois en faites, c'est mon prof qui me donnait un squelette
Stilgart: Ezuker: si tu te poses ce genre de question, c'est sans doute mieux que tu codes tout from scratch
Sirios: yop Remi.
Ezuker: T'es trop marrant Stilgart
Stilgart: c'est juste que c'est plus facile de comprendre/maitriser son propre code
Ezuker: En faites c'est juste commencer où c'est dur.
Ezuker: Sinon le reste je le fais assez aisément
Stilgart: (accessoirement, moi je le trouve moisi le code de départ, donc c'est rare que je le garde)
Stilgart: dostros \o/
dostros: Merci beaucoup les gars surtout stilgart !!
Serge_Billault: @Ezuker: il est de bon ton de sauvegarder et garder sous le coude du code que tu peut réutiliser dans les puzzles que tu rencontres. Par exemple dans un fichier text ou tu copieras ta classe tableau pour la prichaine fois que tu en auras besoin
Ezuker: C'est vrai pas faux
Remi.: Je crois que la classe la plus réutilisable ici c'est la classe Coordonnée
Remi.: Avec toutes les opérations vectorielles qu'on peut imaginer.
Zorg1: j'aurais dit la classe américaine
Stilgart: juste après la classe MCTS
Stilgart: </coup parti tout seul> :p
Ezuker: Euh
Remi.: Je m'en suis sorti jusque là sans MCTS ^^
Remi.: Mais c'est vrai qu'il va falloir que ça change un jour.
Stilgart: on voit ce que ça donne au classement ^^
b0n5a1: Vec2 powa!
Serge_Billault: c'est copyright Mr Abitbul
b0n5a1: Vec2<T>
Remi.: Je ne suis pas si mal classé Stilgart, pour quelqu'un qui n'a jamais pu faire de challenge ^^
Stilgart: je sais, je ne me serais pas permis sinon :)
Remi.: Attends que je fasse 3 challenge et que je monte de 10000CP :D (allez, 15000 si on rêve ^^)
Ezuker: et maintenant une classe entity
Remi.: (on en reparle dans 3 ans :'( lol)
b0n5a1: I ain't 'fraid of no ghost ♫
Stilgart: Remi.: true fact, tu auras plus vite fait de coder ta classe MCTS
b0n5a1: ha non c'est pas un board 2d les ghosts :D
Remi.: Faudra d'abord que je sache coder un MCTS ... déjà je m'améliore sur les BFS ^^
Stilgart: dwarfie a bien remonté avec tous les combats de bots en MCTS qui trainent
Stilgart: c'est la même chose
Remi.: J'ai fait un BFS bancal pour la 1ère fois sur the labyrinth, et le FC2020 que j'ai fait cette semaine m'a bien aidé à bien comprendre le BFS. Aujourd'hui je pense que le bfs est plus cllair pour moi.
Zorg1: un MCTS c'est simple tu prend un MC et t'y cherche un arbre
Remi.: Si je pouvais faire pareil poru le MCTS :)
dwarfie: j'ai juste tester mon code mcts de base ... pas a faute si 7 ou 8 sont pratiquement les meme ;)
Stilgart: dans ce cas, tente UTTT
Remi.: comment ça la même chose ?
Stilgart: je pensais à minimax, oublie ma remarque
b0n5a1: hihi
dwarfie: y'en a 7 ou 8 ou le systeme de jeu different a peine :D
Stilgart: tu peux commencer par les puzzles sur le minimax, c'est une transition plus naturelle après les BFS
Remi.: Zorg1 y a des arbres à Monte Carlo ?
Zorg1: ils ont du en faire en béton
b0n5a1: Remi. UTTT avant bronze t'as un simple TTT, t'as assez de temps d'exec pour minimax full depth...si jamais tu veux tenter (les 50 ms suffisent tranquille)
Stilgart: bonne idée
Zorg1: onware c'est pas mal pour faire un minimax en fait
Stilgart: oware c'est déjà plus du minimax
Stilgart: il faut cut en profondeur
Remi.: UTTT était sur ma liste, mais après SC2020 et SC2021. Vosu pensez que je devrais le tenter en premier ? (avant le début du prochain challenge ?)
Stilgart: repose toi
Stilgart: (vrai conseil)
Remi.: T'inquiète je ne code pas jours et nuits ^^
Stilgart: sinon, SC2021 est bien plus fun selon moi
Stilgart: (mais le méta doit être du MCTS justement)
Zorg1: ah les arbres
Remi.: Mais si un puzzle peut m'apprendre mieux qu'un autre les algos les plus utiles, je suis preneur.
Zorg1: (les SC et FC suivi d'une année j'ai du mal)
Remi.: Celui où faut planter des arabes ?
Stilgart: UTTT pour le MCTS
Stilgart: (vraiment, c'est un must do)
dwarfie: reelle intro a mcts ... bandas ...
Stilgart: SC2021 le puzzle avec du totoro
dwarfie: (ca faisait longtemps que je l'avais pas dit :D )
Stilgart: dwarfie: nan... UTTT
b0n5a1: (pareil Zorg1 je sais jamais de quoi on parle)
Stilgart: b0n5a1 a raison, la bronze tu peux t'échauffer avec un minimax
Stilgart: (faites comme tout le monde, faites semblant)
Zorg1: faut juste rester générique ^^
Stilgart: Automaton2000: montre nous la voie
Automaton2000: mais j'ai vu que ça se passe ?
Zorg1: ouaip j'ai éclaté tout le monde avec un BFS couplé à une heuristique riche en magic numbers
Stilgart: BFS ?
Stilgart: sur totoro ?
b0n5a1: d'ailleur j'ai garder le minimax full depth en gold...juste sur la sous-grille TTT en cours, sans jamais prendre en compte la méga grille ^^
Remi.: Zorg1 : SC2020 pacman, SC2021 les arbreset FC2020 les sorcières
b0n5a1: ça mène à gold en tout cas, les doigts dans le nez
Zorg1: Stilgart : tu commences par coder un BFS, après tu réfléchis
Zorg1: c'est ce que j'ai compris sur CG :p
Stilgart: sauf que je vois pas ce que tu peux pluscouriser sur totoro
Stilgart: par ailleurs, le jeu n'est pas très profond, donc un MCTS semble tout indiqué
b0n5a1: je suis tombé sur skylines hier soir ... j'ai pas compris le very hard, en medium il aurait plus eu sa place
Stilgart: il doit faire partie des puzzles non classés non modifiables
Remi.: Idem, un des 1ers very hard que j'ai fait
Zorg1: ah il est very hard ?
Remi.: Donc je note bandas et UTTT pour le MCTS.
b0n5a1: à la limite en hard si les x peuvent aller jusqu'à 2^64...mais jusqu'à 5000....
Stilgart: skylines, quand je vois mon code, je me demande s'il n'a pas été changé entre ma validation et la suite
b0n5a1: ouais very hard Zorg1
Zorg1: ah 20 lignes de lua :thinking:
b0n5a1: ça se plie en quelques lignes avec un array de taille 5001
Remi.: J4ai fait un tableau de taille 10001 pour le rendre encore plus facile
Zorg1: ça va deux fois plus vite ?
Remi.: C'est pour mieux compter les 2 murs si 2 tours de même taille sont côte à côte.
Remi.: Ca aurait pu être la grosse difficulté, mais ça ne l'est plus si on rajoute une case entre chaque, donc 10001 au lieu de 5001 ^^
b0n5a1: ha, j'ai juste un array qui stocke la hauteur max rencontrée
b0n5a1: le tout initialisé à 0
Stilgart: bon, je peux modifier... c'était bien mis very hard par l'algo magique de CG, et j'ai pas osé changer
Zorg1: "when pigs gly" est very hard alors qu'"Einstein riddle" est hard
Zorg1: le second est + difficile
Zorg1: *fly
Stilgart: je crois que j'ai plus sué sur le premier
b0n5a1: non laisse ça fait un free XP "caché" :D
Stilgart: b0n5a1: je crois que c'était la réaction du chat à l'époque
Stilgart: d'ailleurs, Remi. était dans le coup
Remi.: Ca permet à des débutants comme moi de résoudre 3 very hard ^^
Zorg1: bah qu'il soit hard, easy ou very hard il ne rapporte que 50 XP
Stilgart: enfin non, c'était Remo_avec_un_i à l'époque
Remi.: Oui Stilgart je m'en rappelle, je crois que c'est la première fois qu'on a discuté toi et moi.
Zorg1: oui einstein riddle nécessite du backtracing
Stilgart: Zorg1: tu as masses XP pour 3 very hard
Zorg1: des VH CG ?
Stilgart: non, VH tout court
Stilgart: (enfin, il me semble, j'ai pas pu vérifier)
Zorg1: reccuring decimals et the barnyard : m'ouais VH
Zorg1: j'y crois pas trop
b0n5a1: je vois viande humaine à chaque fois que vous tapez VH :D
Stilgart: 2 VH --> 100xp de quest map
b0n5a1: (acronyme sur Hordes)
Zorg1: ah ok ^^
Zorg1: ça existe encore Hordes ?
b0n5a1: ça doit vivoter
Zorg1: j'y jouais il y a 15 ans
Remi.: Et y a un achievements à 3 VH
b0n5a1: j'étais un saucisson si ça te parles Zorg1
Zorg1: pas trop ^^
b0n5a1: et ai fait des villes épiques
b0n5a1: une méta coa
Stilgart: Damn I'm good Reach a 100% score on three very hard puzzles.
Stilgart: ça fait 905xp au total
Zorg1: ah ok
Stilgart: 500xp pour la partie VH
b0n5a1: enfin c'était le surnom "saucisson" pas le vrai nom...le vrai c'est Alpha Hordes
Stilgart: donc 600xp en comptant la quest map
Zorg1: mais c'est vrai quand ils ont classé les puzzle avec le % pas mal de puzzle se sont trouvé en VH alors que bon
Stilgart: plus au moins 150xp pour les puzzles
Stilgart: bref, tu es vite lvl20 avec ça
b0n5a1: Zorg1 j'ai été dans l'équipe qui a été les premiers à complètement ratisser une grande map quand c'est apparu
Zorg1: ok
b0n5a1: + d'autres "exploits" du même type
Zorg1: ha wé t'y étais à fond
b0n5a1: faut 40 mecs au tacquet, pas d'erreur possible ^^
Zorg1: moi j'étais un peu comme ci comme ça
b0n5a1: on avait éradiqué tous les zombies, 2 fois et on a déterminé la règle de repop Zorg1 ^^
b0n5a1: (la formule)
Ezuker: Bon du coup je me suis fait un squelette entièrement
dwarfie: necrophilie ? ;)
Zorg1: :D
b0n5a1: :rofl:
Ezuker: oh mon dieu
Ezuker: Comment tu sais
Remi.: Parce que tu viens de le dire ^^
Ezuker: Y a juste un truc qui marche pas dans mon squelette
b0n5a1: quant t'as la flemme de sortir un timer pour savoir à combien t'as droit dans un puzzle...
b0n5a1: http://chat.codingame.com/pastebin/da76704a-8fbc-432f-bcef-8bd26785faf5
b0n5a1: :D
b0n5a1: 500 ^^
pardouin: pas fait de backtracking du tout dans einstein riddle
pardouin: juste de l'élimination logique
Stilgart: msum...
Stilgart: donc j'ai du backtracking (gratuit) moi
Ezuker: J'ai un petit problème, comment on partage mon code en pastebin ici ?
pardouin: control+c control+v
Stilgart: on commence par poser sa question
Stilgart: balancer son code n'est en général pas la bonne chose à faire
pardouin: pas faux
pardouin: sauf si c'est pas un code d'un puzzle du site à la limite
Ezuker: Alors je ne comprends pas pourquoi je ne peux pas appeler un vector qui est dans mon main, dans une autre classe
DCVolo: lui faut une ref ou un pointeur
Ezuker: quand je fais cerr << world[0][0] dans mon main il s'affiche
Ezuker: Mais lorsque je fais cerr << _world[0][0] dans un void qui est dans une autre classe ça ne marche pas
Ezuker: et le tiret du 8 c'est normal
pardouin: si ta variable est initialisée dans main c'est normal
Ezuker: sauf que
Ezuker: J'ai fait un World myWorld(height, width, world); dans mon main
Ezuker: Tu vois quand je fais cerr << _height; dans mon void qui est dans une autre classe y a pas de problème
pardouin: pour une raison quelconque la portée doit être différente, ou bien il est passé en argument quelque part
pardouin: si vraiment tu veux pas te prendre la tête initialise les variables qui posent problème globalement au pire
Ezuker: C'est bon j'ai réglé, bug tout con
pardouin: et c'était quoi alors?
Ezuker: Alors hm
Ezuker: dans mon public: j'avais mis vector<string> _world = world;
Ezuker: au lieu de _world = world;
Ezuker: vu que le _world était déjà déclaré dans le private:
DCVolo: je suis pas sûr d'avoir saisi mais pourquoi tu fais pas ça via le constructeur plutôt ?
Ezuker: J'ai juste recopier ce que mon prof à fait sur une autre compétition de bot
b0n5a1: houla...
Ezuker: toujours à me juger :sob:
DCVolo: Clase(arg 1) : _world(vector<string>(arg1)) {}
b0n5a1: non je juge pas, juste le prof qui fait peur
Ezuker: Au pire je vous envoies ce que j'ai fait, pour que vous ayez une idée de ce que j'ai fait
DCVolo: ma belle "Clase" :'>
Ezuker: Je sais pas comment faire un pastebin ici
DCVolo: tu copie colle direct
Ezuker: http://chat.codingame.com/pastebin/69a71ebc-cef3-4838-9e7b-bbb9267ff514
DCVolo: ça se fait automatiquement
Ezuker: Bien vu
Ezuker: Que pensez-vous de mon squelette :nerd:
pardouin: c'est ta pick-up line ça?
Ezuker: pick-up line
pardouin: "mad'moiselle, que..."
DCVolo: du coup ronger son os ça a un tout autre sens ..
pardouin: ahahah
pardouin: j'étais pas prêt
Ezuker: ah mdr je viens de comprendre
Ezuker: il m'en faut du temps
Ezuker: Du coup le squelette est améliorable ?
Ezuker: Je suis en première année de BTS Snir si jamais
Ezuker: Donc voilà mon niveau ne doit pas être fou
b0n5a1: déjà le constructeur, passe par un initializer_list :
b0n5a1: http://chat.codingame.com/pastebin/27b99cb7-5a14-4787-9e8e-90bd4399f743
DCVolo: oui mais ça se sent que ce qui t'es donné est simplifié afin de ne pas trop t'embêter
b0n5a1: si ton prof sait pas ce que c'est, ou ne sait pas pourquoi...faut changer de prof ^^
DCVolo: pour moi y'a le constructeur, ce que j'ai mis plus haut ou ce que propose bon , et des accesseurs mutator en copie :/
Ezuker: Je viens de changer pour le initializer_list
DCVolo: y'a un truc que j'aime pas trop mais ça on me corrigera si besoin parce que c'est probablement une histoire de compilo
DCVolo: mais ça
DCVolo: http://chat.codingame.com/pastebin/5764d2a9-00a0-4d43-bcad-988b054ad918
DCVolo: j'aime pas
DCVolo: t'as une boucle qui passe son temps à reinstancier des variables... au lieu de le faire quu'une fois
b0n5a1: pareil...même si un bon compilo va le sortir de la boucle
DCVolo: ok je me doutais un peu de la réponse, c'est bon à savoir du coup
Ezuker: ça c'est dans le main
DCVolo: quand j'ai ça générallement je fais un tuple avec des types multipes ça fait un peu plus soigné au passage
Ezuker: Mais faut bien reinstancier la variable car par exemple x change nan ?
DCVolo: attend j'te montre
Ezuker: Oki doc
b0n5a1: mais le tuple devient vite illisible à l'utilisation
Remi.: Réinstancier, ça veut dire re-réserver la mémoire. C'est différent de juste mettre à jour la valeur.
Remi.: Et si c'est objet complexe, ça veut dire passer dans le destructeur et dans le constructeur.
b0n5a1: parce qie du get<0>(t).....get<9>(t) ... à un moment savoir ce que c'est...
Remi.: Mieux vaut réserver la mémoire en amont et mettre à jour la valeur dans la boucle.
Ezuker: D'accord je vois
Remi.: Après, comme le dit b0n5a1, un bon compilo sera capable de le faire tout seul.
b0n5a1: parable avec get<AGE>(t) ... get<NAME>(t)...avec des constantes pour çue ça reste compréhensible
Ezuker: Je gaspille de la mémoire c'est ça ?
Remi.: Non, mais ça peut gaspiller du temps à réserver et libére la mémoire.?
Remi.: .
Ezuker: D'accord j'ai compris
pardouin: le hard *tousse* du jour :
pardouin: https://www.codingame.com/ide/puzzle/gerrymandering
pardouin: c'est genre le dp textbook
pardouin: il y a une dizaine de dp du même style voire plus dur en medium ^^"
DCVolo: je t'ai mp 2 autres versions de ta boucle, histoire que tu visualses
dwarfie: bon les free xo , c'est fait ... mais entre un medium ou la diificulté est de comprendre le sujet et un dont on se demande ce qu'il fout en hard ...
dwarfie: (meme si la aussi , les explications du sujet laissent clairement a désirer ...)
dwarfie: automaton2000 devrait clairement se remettre au lancer de tortue la
Automaton2000: y'a un peu de temps de calcul
Remi.: Moi perso j'ai pas compris ^^
Remi.: (bon ok, j'ai pas non plus cherché à comprendre)
dwarfie: lequel des 2 ?
Remi.: celui qui est en hard
Remi.: JE n'ai aps regardé l'autre
Remi.: Je n'ai pas regardé l'autre
dwarfie: un long moment a piger... 15 lignes a coder ...
b0n5a1: merde à vous lire j'ai fail une session de vampire survivors :D
Remi.: Bah ça va être de notre faute ^^
Remi.: Bon je tente UTTT
dwarfie: hé hé .. et moi j'ai surement raté une guerre sur regnum ... je part verifier :D
Remi.: Je vais reprendre mon négamax de connect 4, j'espère que ça conviendra
Remi.: Ah dommage, un bitboart sur 81 bits ça passe pas ^^
Zorg1: ok le gars il lit le chat en même temps qu'il joue et il s'étonne de foirer son jeu ^^
b0n5a1: c'est en fenêtré son truc ^^
**Stilgart tend l'avx à Remi.
Remi.: avx, b0n5a1 m'en a parlé il n'y a pas longtemps ^^
b0n5a1: je lui ai déjà tendu en MP hier ^^
Remi.: C'était hier ? ^^
Stilgart: comme ça a gratté hier !
b0n5a1: ou avant-hier je ne sais plus
Stilgart: en ressenti, c'était hier
Zorg1: bah vendredi soir j'ai tendance à considérer la semaine écoulée comme une grosse journée de boulot ^^
Remi.: Il voulait que je modélise tout le FC2020 dans un grand nombre, il m'a parlé d'avx.
Remi.: Mais je réfléchis et je ne sais pas si je vais pouvoir adapté aussi facilement le négamax.
Remi.: * adapter
b0n5a1: ouais mais avx 512 j'en ai parlé seulement en terme de grosse opti perf, pas spécifiquement pour FC2020 (avec l'article tech io en exemple)
Zorg1: avx 2048 parce que je suis pas un rigolo
Stilgart: constexpr int nbBFSNodes = 1024 * (1<<nbSpellsIngame) * (1<<nbPotionsIngame);
Stilgart: j'sais pas combien ça fait, mais ça tient dans un int
Zorg1: oui j'ai pas l'impression que j'avais un truc énorme comme état
Stilgart: (63 bits donc, vu que j'ai envie que ça soit positif)
Zorg1: on dirait un gars qui code en java ... :p
**Stilgart mord Zorg1 pour qu'il apprenne à mieux regarder
Remi.: Aïe, j'ai ressorti un lien donné par quelqu'un sur ce chat à propos du MCTS ... ça fait 50 pages :(
Remi.: un pdf de 50 pageS.
b0n5a1: arghhh fail
Stilgart: Remi.: fais d'abord du minimax
Remi.: A Survey of Monte Carlo Tree Search Methods
Stilgart: 2097152
Remi.: Va falloir que j'apprenne 2 algos pour ce multi ?
Stilgart: ça tient largement sur 31 bits donc
Zorg1: on va déjà voir ce que c'est leur multi
Zorg1: avant de sortir l'artillerie
Stilgart: Automaton2000: fais fuiter les infos !
Automaton2000: j'ai bien fait de ne pas aller plus haut que gold
Remi.: Je suis sur UTTT
Stilgart: scoop, on va roter du sang en légende
Zorg1: va-t-on avoir des IA hiders ?
Stilgart: wow... je suis super haut en légende à FC2020
Stilgart: merci le car de japonais qui m'a empêché de passer légende en contest
Stilgart: Automaton2000: est-ce que le IA hiding sera méta ?
Automaton2000: j'ai envie de dire que t'es pas loin
Stilgart: Automaton2000: combien CG a-t-il prévu de submit pour kovi ?
Automaton2000: à chaque fois que je me suis dit que non j'allais être sympa avec cg
Remi.: Question pour ceux qui connaissent le MCTS ... vous l'avez appris "sur le tas" ou en formation / à l'école ?
Remi.: Parce que 50 pages de pdf en anglais, c'est juste pas motivant ^^
Stilgart: sur le tas
Stilgart: de toute façon, en école aussi tu l'apprendrais sur le tas
Stilgart: (ie, en tp)
Zorg1: bah j'ai lu une doc mais elle faisait pas 50 pages ^^
Zorg1: après bon faut coder
b0n5a1: fais gaffe Stilgart tu deviens accroc aux tacos
Stilgart: j'ai souvenir d'un site web qui résumait bien le truc en ~5 pages
Stilgart: je fais une réserve de nourriture pour Automaton2000
Automaton2000: oui mais c'est un peu moins
Zorg1: oui c'est la doc qu'ils linkent dans UTTT je crois
b0n5a1: https://jeffbradberry.com/posts/2015/09/intro-to-monte-carlo-tree-search/
b0n5a1: celui là je crois
Remi.: C'est le lien que je viens d'ouvrir ^^ le dernier qu'on m'a donné
Zorg1: oui j'ai vraiment commencé avec ce truc
Zorg1: après j'ai codé mon bazar
Remi.: Bon c'est toujours de l'anglais, mais au moins c'est moins long.
b0n5a1: j'arrête avec vampire survivors je fais que des fails cons
**b0n5a1 veux un poce roge sur le forum :D
b0n5a1: pas de poce blo, juste un roge
Remi.: Bon allez, go dodo.
b0n5a1: bn
Remi.: Bonne nuit les gens