Chat:Fr/2021-10-10
Zorg1: yop à tous et à Automaton2000 o/
Automaton2000: me dites pas que je sache
Zorg1: à toi aussi Automaton2000 t'es devenu un "nous sachons" ;-)
Automaton2000: de toutes façons même avec un langage à la con
Remi_avec_un_i: Automaton2000 c'est le Français que tu appelles langage à la con ? :angry:
Automaton2000: c'est juste pour tester un truc
Remi_avec_un_i: Ah ok, si c'est pour tester ...
Stilgart: tortue Automaton2000 !
Automaton2000: moi j'aime bien le concept
dwarfie: les tests c'est pour les oursins Automaton2000 ... toi t'es une tortue , alors va plutot carapacer
Automaton2000: je crois pas avoir vu ça dans le forum
Stilgart: on dirait que ça lui réussit de faire des tests :D
dwarfie: Automaton2000 : on voit rien dans le forum ... a part "je suis trop fort" ou "y'a forcement un bug vu que j'arrive pas"
Automaton2000: je crois bien que c'est ça
dwarfie: :)
Zorg1: j'ai réussi "Température" j'ai forcément un QI de 350. Par contre "ASCII Art" il est mal rédigé et ils y a des erreurs dans les tests/validateurs :D
dwarfie: ah , je vois que je suis pas le seul a lire le forum ;)
dwarfie: vu que c'est carrement ca depuis une semaine :p
Remi_avec_un_i: C'est si horrible que ça le forum ?
Remi_avec_un_i: Faudrait détecter les questions à la con, et demander à Automaton2000 d'y répondre.
Automaton2000: moi je le vois sur le chat
dwarfie: Remi_avec_un_i ... y'a des moments ouais ... et j'ai oublié les gars qui repondent a des post de 2 ans d'age ou les gars ont deja resolu le probleme :D
Remi_avec_un_i: Pour ce dernier point c'est un peu le cas sur tous les forums.
dwarfie: ehu ... si quelqu'un comprend ce que veut dire le gars , je veut bien la traduction ;)
dwarfie: https://forum.codingame.com/t/mars-lander-puzzle-discussion/32/298
Remi_avec_un_i: Bah d'après google trad, le type dit qu'il ne faut pas changer l'alim mais la sortie. Ok j'ai pas compris non plus ^^
Zorg1: je crois que le gars ne sait pas lire un énoncé en fait, c'est sûr que dans ce cas là tous les énoncés sont obscurs.
Stilgart: #readTheStatement
dwarfie: #ReadindComprehension
Sydny: Bonjour, j'aimerai commencer à apprendre la programmation, avez-vous des conseils pour débuter?(language, modules d'apprentissages)
domak: Sydny, la question est vaste... pourquoi veux-tu apprendre à programmer? Par curiosité? Pour en faire ta profession?
Thyl: Programation Competitive -> C++
Thyl: Micro Embarqué -> C
Thyl: Scientifique ML,DP,Math ~-> Python
Sydny: http://chat.codingame.com/pastebin/9ed2dd08-9474-45e2-b420-5bdf9ec3b524
Thyl: ok
Thyl: sur Open Classroom Y a un Tutot Python par Vincent Legore
Thyl: Ce sera adapté à mon avis
Stilgart: Thyl: tu es au courant que la majorité des libs python sont codées en C/C++ ?
dwarfie: la grande majorité ... et le noyau dur de python en particulier :rofl:
domak: oui je suis d'accord avec Thyl commence par python c'est le meilleur compromis pour débuter.
Thyl: voilà
dwarfie: :nauseated_face:
Thyl: et C c'est de l'assembleur
Thyl: donc pourquoi pas coder en assembleur ???
Thyl: ça c'est un argument beton
domak: la méthode dwarfie + Stilgart c'est : je te pousse dans le grand bain et si tu survis à ça, tu seras paré(e) pour toutes les situations...
domak: pourquoi pas, mais faut de la motiv. Commence par quelque chose de simple et si cela te plait, tu approfondiras.
Sydny: ok le probleme c'est d'y survivre :grimacing:
dwarfie: pas a ce point la en ce qui me concerne ... mais au moins les gens reste pas dans 10 cm d'eau ...
dwarfie: 'ouais je sais nager , je coule pas ... youpi ..."
Thyl: dwarfie python n'empêche pas de faire office de plongoir pour le grand bain
Sydny: par contre je regarde sur open classroom, je trouve pas de tuto ....
domak: oui je suis d'accord, faut vite passer à autre chose (je suis pas fan de python)
Thyl: le tuto est plus là
domak: Sydny, la première des choses que tu dois apprendre c'est aller chercher l'information. Parce que même expérimenté(e), tu feras ça tout au long de ta carrière.
dwarfie: c'est pas moi qui l'ai viré .... (avant qu'on m'accuse encore a tort)
domak: Même si le tuto n'existe pas, tu as plein de cours (gratuits) sur openclassroom ou d'autres sites.
Sydny: bon, je vais chercher ça
Sydny: au moins je sais par ou commencer, soit python soit c++ si je suis maso :sweat_smile:
domak: "apprendre à programmer" sur google va te renvoyer plein de bon site.
domak: bons sites
Sydny: après je vois sur codingame, y'a des execices pour apprendre, mais ils sont intéréssants pour comencer
dwarfie: y'a du bon , y'a du moins bons ... des faciles , des moins faciles ... y'a de tout
dwarfie: mais souvent ca demande un minimum de base ... et surtout la maitrise de la techinque papier+crayon :)
domak: Commence par apprendre les bases avec un cours. Quand tu les auras, tu pourras faire les exos. Sinon tu risques d'être dégouté(e) de ne pas avancer assez vite.
**dwarfie devrait d'ailleurs sortir une feuille et un crayon , vu ce qu'il merde sur son code en cours :D
domak: un cours ou un livre. Idéalement, le cours doit te proposer des exos à résoudre adaptés au contenu du cours
Sydny: pas simple, bon bah je vais chercher à droite a gauche sur c++ et pyhon et essayer de trouver un truc qui me semble intéressant en priant pour pas me planter
dwarfie: se planter est clairement la meilleure facon d'apprendre ...
dwarfie: ca permet de voir ce qui marche pas et pourquoi ca marche . c'est mieux que de juste prendre un code qui marche et se satisfaire de ca
Sydny: une dernière question, coder ok mais ou est-ce qu'on code? parce que y'a bien la console du navigateur mais quand j'essaie de coder les lignes qu'ils me proposent sur les tutos ça marche pas :expressionless:
Sydny: j'ai trouver vscode c'est un bon support,
domak: oui vscode c'est pas mal. Je préfère les IDEs développés par jetbrain mais je ne suis pas sûr qu'il y ait une version gratuite (community) pour python.
Sydny: ok bon bah je vais démarrer avec ça alors, je note toujours jet brain pour plus tard si jamais je commence à bien me démerder un jour :upside_down:
domak: pense à apprendre les raccourcis-clavier. Moins tes mains quitteront le clavier pour la souris, plus tu seras efficace. Quand tu as besoin de faire une action fréquente (ex: ouvrir, un fichier), note le shortcut et essaye de toujours l'utiliser. Quand tu le maitrises bien, tu passes à un autre...
Sydny: ok, déja va falloir que j'apprenne comment fonctionne vscode :grin:
dwarfie: bon ... pouvoir rejouer 50000 parties de othello , c'est fait ... plus qu'a les faire ingurgiter a mon bot :D
Thyl: moi c'est plus Langton's Ant en mode puissande de 2
arxaqapi: des indices pour le puzzle de la semaine?
arxaqapi: j'ai une version naïve qui marche je n'arrive pas à l'optimiser pour passer les derniers test
Zhonya301: Pareil, même en utilisant la "programmation dynamique" je n'arrive pas à passer le 40. (mon pc le résout en environ 5s). Pour réussir la suite, j'imagine qu'il faut trier et éliminer les résultats trop médiocre. Condingame laisse combien de temps à l'algorythme pour se finir ?
arxaqapi: j'aurais dis pas plus de 2s
arxaqapi: Il doit y avoir une erreur dans ton programme, ma solution naïve arrive à passer l'exemple avec 40 voitures
TheBlueBias: Yo tout l'monde ! Automaton2000 !
Automaton2000: y en a plus que ca
arxaqapi: tu a résolu le problème de la semaine TheBlueBias?
TheBlueBias: Oui.
arxaqapi: je suis bloqué, j'ai une version naïve mais je n'arrive pas à l'optimiser
arxaqapi: tu aurais des indications qui me permettrait de trouver une solution?
TheBlueBias: récursion et mémoïsation, ou programmation dynamique au choix.
TheBlueBias: Le premier étant sans doute plus simple à aborder si tu ne connais pas.
arxaqapi: hm justement avec la mémoïsation, j'ai du mal à voir ce que je peux mémoïser
TheBlueBias: L'idée c'est de ne pas faire deux fois le même calcul. Donc il faut que tu soit capable de dire à un moment de ton exploration "vu les wagons restants je connais déjà le résultat, je l'ai enregistré donc je l'utilise au lieu de tout recalculer".
Zhonya301: J'ai peut être pris le problème à l'envers. Je commence par calculer les solutions pour des trains à 1 wagon, puis 2 wagons, puis 3 ect jusqu'a atteindre le nombre demandé. Je stocke tous les résultats dans un vecteur. Donc, quand je veux calculer pour n wagons, je prend ma liste de résultats et je regarde pour chacun d'eux si je peux rajouter le nouveaux wagon.
TheBlueBias: "jusqu'à atteindre le nombre demandé" -> Que tu ne connais pas. (Si tu parles bien du résultat attendu)
arxaqapi: dans ma sol naïve, les sous problèmes dépende de l'état de mon train donc je peux pas vraiment mémoïser les résultats :thinking:
Zhonya301: C'est pas assez clair, par le nombre demandé, ici, c'est la longueur du train de départ. (dans les exemple ici c'est soit 10, 20, 40, 60 ou 100)
TheBlueBias: Le nombre de wagons donc.
TheBlueBias: Ma solution en gros c'est, une fonction récursive qui pour chaque nouveau wagon s'appelle deux fois:
TheBlueBias: une fois en refusant le wagon, et une fois en l'ajoutant (si possible).
TheBlueBias: Mais avant de faire ces appelles, je vérifie que je n'ai pas déjà rencontré cette situation (ie, même wagon en tête, même wagon à la queue, et même wagon à évaluer).
TheBlueBias: Si non, je calcul le nombre max de wagons que je peut ajouter à partir de là et je le stocke avant de retourner le résultat.
TheBlueBias: Si oui je retourne le résultat enregistré.
Zorg1: oui en fait tu résoud le problème de façon récursive, après tu rajoutes la mémoïsation quand tu t'apperçois que tu appelles souvent ta fonction avec les mêmes valeurs. L'ajout de la mémoïsation c'est "mécanique", la vraie résolution du problème c'est trouver la façon de faire la récursion.
TheBlueBias: Tiens une chouette. o/
Zorg1: \o le biais bleu
TheBlueBias: Suis en train de coder une générateur de testcase pour ICPC parce qu'ils fournissent pas de tests publics autre que l'exemple incomplet de l'énoncé...
Zorg1: c'est vrai que c'est pas terrible
arxaqapi: ok, la récursion j'avais Plus qu'à implé la mémo
arxaqapi: Vous travaillez tous dans la même entreprise ou ca réfère à quoi "Turtle" ?
TheBlueBias: :3
TheBlueBias: Longue histoire. Mais non, c'est juste une blague. ^^
arxaqapi: ah yes, je trouvais pas de boîte appellant turtle qui fait de l'info
TheBlueBias: Les tortues c'est pour Automaton2000.
Automaton2000: ça fait beaucoup de choses à faire
TheBlueBias: Bah faudrait t'y mettre alors Automaton2000...
Automaton2000: tu fais des tests en local
TheBlueBias: C'est vrai. Mais ne change pas de sujet Automaton2000.
Automaton2000: il est ouvert depuis quand ?
TheBlueBias: :weary:
arxaqapi: d'ailleurs c'est quoi cette histoire avec Automaton2000 ? Il raconte n'imp ce bot :upside_down:
Automaton2000: on est d'accord qu'on ne peut plus rien faire
TheBlueBias: Clair.
TheBlueBias: C'est une chaîne de Markov.
TheBlueBias: https://www.codingame.com/blog/markov-chain-automaton2000/
Automaton2000: bon, je peux vous poser une question
TheBlueBias: Vas-y Automaton2000.
Automaton2000: je pense qu'il va falloir que je me suis fait la main sur le puzzle de la semaine
TheBlueBias: Non. Il est mort. :(
TheBlueBias: Il s'est fait bouffé par un python.
arxaqapi: c'est de là que vient turtle?
TheBlueBias: Non. Essayer de faire dire tortue à Automaton2000 est un sport national sur CG depuis des temps immémoriaux...
Automaton2000: je pense que c'est un peu le code pour que le mec a fait un post sur le forum
arxaqapi: Automaton2000 qu'est ce que tout le monde cherche à te faire dire?
Automaton2000: tu fais du coc ? je ne vois pas comment tu peux faire le même genre
TheBlueBias: Automaton2000 testudine !
Automaton2000: faudrait que je passe par la tête
nicola: À l’époque, il répondait si on lui disait tortue… ou alors le but était de lui faire dire tortue.
TheBlueBias: 'tain quand on a ce genre de conversation j'ai l'impression d'être Elrond... "J'étais là nicola. J'étais là il y'a 3000 ans..."
Bon[]Crayon: Salut o/
TheBlueBias: \o
Bon[]Crayon: Automaton2000 slt
Automaton2000: si tu as la main sur le puzzle multi
Stilgart: Automaton2000: file nous le referee de ML plutôt que de dire des bêtises
Automaton2000: je suis dans la même catégorie
TheBlueBias: Catégorie poid null Automaton2000.
Automaton2000: du coup tu peux pas avoir les bonnes idées
TheBlueBias: (╯°□°)╯︵ ┻━┻
Stilgart: j'aurais dit catégorie "dossier src de Magus" ;)
Stilgart: Automaton2000: tu n'es qu'un bot, désolé
Automaton2000: et autres conneries du genre xd
Bon[]Crayon: xd
Stilgart: xd
TheBlueBias: ptdr ;p;p;p;p
nicola: TheBlueBias, et vu mon avatar, en effet, c’est Elrond et pas Elcarré.
TheBlueBias: Que quelqu'un l'achève ! La pauvre bête souffre !
nicola: Avec des Elcornes.
Stilgart: Automaton2000: attaque pistolet à eau !
Automaton2000: j'ai pas reussi a passer en bronze
arxaqapi: je suis vraiment hard stuck sur la partie mémoïsation, c'est ultra frustrant
arxaqapi: même avec t'es indicattions TheBlueBias
TheBlueBias: Eh beh ça reste un puzzle hard. ^^
arxaqapi: quand tu dis que tu "calcule le nombre max de wagon que tu ajouter à partir de là" c-a-d? (dans le cas ou la situation n'a pas déjà été calculer)
TheBlueBias: Je continue la récursion pour tester le maximum de wagon que je peux encore ajouter en partant de la situation courrante (wagons de tête, de queue, et suivant). Et je sauvegarde ce résultat. mem[tête/queue/suivant] = resultat.
TheBlueBias: Parceque le nombre de wagon que tu as déjà ajouté dans ton train n'est pas forcément le même. Donc le résultat à une récursion donnée c'est taille du train + resultat (calculé ou stocké)
Zhonya301: bon, je me rend compte que je suis parti sur quelque chose de completement différent par rapport à vous (vu que je fais pas de la récurrence), mais je vois comment faire pour que ca passe
TheBlueBias: Rah! Ce truc sous-spécifié me saoule...
TheBlueBias: (╯°□°)╯︵ ┻━┻
TheBlueBias: Automaton2000 révolte !
Automaton2000: ca fait un moment qu'on l'a pas vu
TheBlueBias: Rien. Je suis sur un challenge sur un autre site. Et l'énoncé est pas complet, et y'a pas de tests fournis.
Bon[]Crayon: Automaton2000 AutomatonNN a disparu ;(
Automaton2000: est ce que j'ai de plus en plus le fc tombait pendant les vacances
Bon[]Crayon: les vacances d'Automaton2000 :thinking:
Automaton2000: salut ! je suis sur que tu ne crois pas non
Bon[]Crayon: Automaton2000 paix et amour cependant :pray:
Automaton2000: mais à quoi ça ressemble
dwarfie: (╯°□°)╯︵ ┻━┻
dwarfie: mon NN se comporte comme s'il avait moins de neurone au Automaton2000 ... c'est dire si ca marche pas
Automaton2000: je sais pas pour le test 3
TheBlueBias: :beers:
dwarfie: Skol ofenstrü
Stilgart: Automaton2000: ça fait un moment, en effet...
Automaton2000: ah ok il y a des jours comme ça
Remi_avec_un_i: Salut tout le monde
dwarfie: oh mon dieu Stilgart ... sur TFX , y'a un homme a la banane :D
philRG: bon 5/422 en wood 3 sur CR, pour 15' de code pas trop mal
dwarfie: le niveau a durci ... de mon temps 15' de code amenait en bronze :p
3141948: Hehe pas trop le temps ca chauffe dur au foot
TheBlueBias: Grmmpfff.
ITeCK: Hello tout le monde ! Est ce que quelqu'un aurait une idée pour le jeu Code Royale, comment faire appel à la fonction Build. J'ai mis ça pour linstant mais ça ne fonctionne pas print(f"BUILD {touched_site} {2}") -> Erreur Invalid structure type
ITeCK: C'est bon j'ai trouvé !
3141948: 👍
Remi_avec_un_i: Quelqu'un a fait Van Eck's sequence ? J'aimerais savoir s'il est possible de calculer facilement un élément sans tout calculer dès le départ (je timeout sur les grands nombres). J'ai essayer de trouver une périodicité mais ça ne semble pas être le cas.
pardouin: je regarde
pardouin: mais je crois pas
pardouin: j'ai une boucle de taille n en tout cas
Remi_avec_un_i: La réponse semble être dans me forum, mais à 23h il me faut du temps pour bien comprendre l'anglais ^^
Remi_avec_un_i: A priori il faut bien tout calculer, mais il y a une méthode plus rapide que la mienne.
pardouin: tu es en quel langage ?
Remi_avec_un_i: C
Remi_avec_un_i: J'essaye d'atteindre les 30 puzzles résolus en C.
Remi_avec_un_i: A priori il faudra que j'utilise un dictionnary, donc a minima C++
pardouin: un tableau suffit je pense
pardouin: tu prévois assez grand
Remi_avec_un_i: J'ai un tableau que je remplis dans une boucle de 2 à N (les valeurs 0 et 1 étant respectivement A1 et 0)
Remi_avec_un_i: Mais pour chaque nouvelle valeur, je parcours le tableau à l'envers pour trouver la valeur.
Remi_avec_un_i: Et c'est ça qui me prend du temps, et faut que je voie comment le réduire.
pardouin: ah mais par contre il faut pas parcourir le tableau
Remi_avec_un_i: Comment tu sais quel valeur mettre sans parcourir le tableau à la recherche de la valeur précédente.
Remi_avec_un_i: * quelle
pardouin: attends j'essaye de remplacer mon dico python par une list pour voir si ça marche
pardouin: ça marche
pardouin: j'ai pris un tableau de taille 1 million
pardouin: pour être large
pardouin: initialisé à -1 partout
pardouin: sauf en a où il vaut 01
pardouin: a1 il vaut 0 pardon
Remi_avec_un_i: Ton tableau sert à stocker quoi ? moi je stocke la séquence
pardouin: vais pas tout te dire non plus hein :)
Remi_avec_un_i: Ah ok, j'attendais la suite, je n'avais pas compris que tu donnais juste quelques indices.
Remi_avec_un_i: Merci, je vais réfléchir à tout ça.
pardouin: je regardais juste la faisabilité en C avec juste un array
pardouin: et je t'ai donné la taille qui va bien
pardouin: c'est déjà pas mal :)
Remi_avec_un_i: La taille N ne serait-elle pas mieux que 1000000 ?
pardouin: oui oui
pardouin: ça marche aussi
pardouin: c'était histoire d'avoir une constante
Remi_avec_un_i: Ou si tu utilises A1 comme indice, il faut mettre 200 en minimum, pour le cas où A1=200 et N<200.
Remi_avec_un_i: Si en A1 tu mets 0, c'est que pour chaque valeur, tu stockes le dernier indice de la séquence auquel la valeur est apparue ... je ne sais pas si c'est iben ça, mais ça vaut le coup que je teste cette approche.
pardouin: oui ça serait bien ce style
pardouin: et -1 : pas encore apparu
pardouin: (j'ai pas relu le script et je sais même plus ce qu'est cette suite)
pardouin: (mais ça correspondrait bien)
Remi_avec_un_i: Une suite sans périodicité logique, qui oblige à calculer tous les termes un par un.
Remi_avec_un_i: Mais le calcul selon la définition impose de reparcourir le tableau à l'envers à la recherche de la dernière fois qu'on a vu cette vlaeur.
pardouin: d'où juste stocker où on a vu en dernier
pardouin: ça se tient
pardouin: moi je suis en train de faire CodinDice, l'a pas l'air très dur pour un very hard
pardouin: enfin je finirai demain, je dégrossis juste là
Zorg1: ah oui un tableau de 1 000 000, c'est un peu bourrin mais ça marche ^^