Chat:Fr/2020-12-25

From CG community
Jump to navigation Jump to search

Default avatar.png JBM: AoC, ça c'est fait

XorZy: Salut les gens, salut AutomatonNN. Joyeux Noël :christmas_tree:

AutomatonNN: ou vous avez un bon puzzle de la communauté ?

XorZy: C'est fini l'AoC :cry:

Default avatar.png JBM: jusqu'à l'an prochain

Zorg1: bah j'en ai encore à finir jusqu'à la fin de l'année

Zorg1: Automaton2000 ton analyse ?

Automaton2000: nan refaire le puzzle c'est pas instantané

Zorg1: :thinking:

Bon[]Crayon: Bonjour tout le monde

Bon[]Crayon: Automaton2000 salut

Automaton2000: Bon[]Crayon il est tout pourri

Bon[]Crayon: que quoi

Bon[]Crayon: AutomatonNN bonjour tortue

AutomatonNN: voilà

Bon[]Crayon: Automaton2000 es-ce que tu parle de ton code ?

Automaton2000: je sais pas ce que cela donne

Bon[]Crayon: Automaton2000 cela donne mauvaise impression

Automaton2000: heureusement que je suis le seul a avoir un code qui me fait gagner des places

Bon[]Crayon: Automaton2000 mythobot

Automaton2000: on se fait taper dessus quand on demande :'d

Drisc: Hello

Bon[]Crayon: hola

Default avatar.png IbraDeRivie: salut

Zorg1: yop o/

Default avatar.png JBM: comment es ta nowelle \o

Zorg1: hiatus ou semi-voyelle ?

Default avatar.png JBM: semi-voyelle

Bon[]Crayon: y

nicola: ł

Drisc: Bonsoir

Bon[]Crayon: minute papillon AutomatonNN

AutomatonNN: ouais tu peux pas te dire qu'on a des puzzles que tu peux pas te dire que tu peux pas te dire que tu

Bon[]Crayon: motus et bouche cousue AutomatonNN

AutomatonNN: ok j'essaie de regarder le temps de faire un truc de toutes façons que j'ai pas encore regardé merci

Bon[]Crayon: AutomatonNN logique

AutomatonNN: t'as pas de connaissance de contest ?

Bon[]Crayon: AutomatonNN que dalle

AutomatonNN: oui

Bon[]Crayon: Automaton2000 voyez-vous ça

Automaton2000: oui va falloir que je me suis pas assez bon pour ça

Bon[]Crayon: Automaton2000 tu as raison

Automaton2000: je prends en compte l'adversaire

Bon[]Crayon: Automaton2000 voilà qui est parler

Automaton2000: j'ai une question à la con

Bon[]Crayon: Automaton2000 sans déconner

Automaton2000: le reste de ton code qui est en dessous

Bon[]Crayon: Automaton2000 même pas dans tes rêves les plus fous

Automaton2000: après, c'est sans doute parce que j'ai oublié

Bon[]Crayon: Automaton2000 à la bonne heure

Automaton2000: par contre, je sais pas pourquoi ils ont pas du tout par rapport à ce que vous me conseillez de ...

Bon[]Crayon: Automaton2000 un homme à la mer

Automaton2000: en meme temps, je ne suis pas venu ici pour souffrir ok ?

Bon[]Crayon: :joy:

Zorg1: yo

Zorg1: c'est calme ici

Zorg1: ça va Automaton2000 reposé ?

Automaton2000: j'ai cru que c'était une blague

leojean890: c'est calme, très calme.. trop calme;)

leojean890: il est chaud lui ;) https://www.codingame.com/ide/puzzle/photo-booth-transformation

leojean890: (vive les timeouts sur gros valideurs quoi)

dwarfie: humm ... normalement , non

**dwarfie aussi aime pas trop beaucoup quand c'est trop calme

leojean890: j'pense que mon algo est tout pourri xD

leojean890: O(w*h*periode)

dwarfie: si ca fait plus de 20 lignes , c'est que t'en fait trop :D

leojean890: mdr^^

MrHydeal: ça ça dépend de ton language

leojean890: python pour le moment :P

leojean890: mais je risque de changer si besoin;)

leojean890: mais là je pense que c'est mon approche qui est trop lente

dwarfie: suis en php ... et ca passe ... avec une function recursive ...

leojean890: je connais pas les perfs du php

dwarfie: appelé enormement de fois en plus ...

MrHydeal: En C j'ai plus de 20 lignes avant même de commencer à le coder x)

leojean890: en C c'est dur d'avoir peu de lignes^^

**dwarfie pointe du doigt CN en golf en 55 char de dbdr pour contredire ...

leojean890: bon j'avoue xD

leojean890: pour CN;)

leojean890: mais dbdr gère aussi;)

leojean890: mais pour bcp de puzzles si on essaye pas de golfer..^^

leojean890: pour des puzzles complexes ou multis pas ex c plus dur

dwarfie: bon si je retournais tenter un puzzle auquel je vais coller un 1 etoile une fois fini ... en C je le resoud en 15 secondes mais en php ca timeout ...

leojean890: bon là faut que je change toute la structure j'imagine du coup

leojean890: ah relou ça

leojean890: mais là je timeout déjà pour sze <=500

leojean890: size*

leojean890: donc y'a un pbm d'approche je pense

leojean890: ma fonction qui réalise la transfo est pas ouf

leojean890: dwarfie MrHydeal vous avez mieux que O(w*h*periode) ?

MrHydeal: J'allais m'y mettre là ^^

leojean890: ah tu l'as pas fait ? ok:P

dwarfie: humm ... je dois plutot etre 0((w+h)*periode)

leojean890: d'acc donc mieux que moi;)

leojean890: je vais réfléchir pour improve donc..

MrHydeal: je vais avoir la même chose que dwarfie

leojean890: d'acc^^

leojean890: ça doit être ça qu'il faut faire:)

leojean890: j'imagine un parcours vertical avec échanges de lignes puis un parcours horizontal ave échanges de colonnes ça fait bien du W+H

MrHydeal: si tu regardes tout les élements une fois, ça fait W*H en tout cas

leojean890: ouais mais le but c'est de faire O(w+h) à chaque fois ^^

leojean890: du coup..

leojean890: je pensais à un unique parcours vertical et un horizontal

leojean890: W*H c'est ma solution qui timeout

dwarfie: c'est bien ce que je fais ...

leojean890: un unique parcours vertical => replacement des lignes, et un horizontal => replacement des xolonnes

leojean890: ça ferait du W+H comme dwarfie ça^^

Zorg1: oui en lua ça tient ^

Zorg1: je viens de le faire

leojean890: t'as codé ça en lua toi ?:P

leojean890: d'acc^^

Zorg1: c'est assez rapide

leojean890: en python aussi hopefully xD

leojean890: je réfléchis comment juste repace une ligne ou une colonne efficacement^^

leojean890: ça donne envie de faire du numpy xD

leojean890: replace*

Zorg1: 50 lignes tranquilles, bien aérées

leojean890: (avec les listes de base c'est pas très efficace de faire ça

leojean890: bosser sur lignes et colonnes

Zorg1: la seule récursion que j'ai c'est pour calculer le pgcd par flemme

leojean890: tu calcules un pgcd dans photo-booth-transformation ?? xD

Zorg1: bah t'as un ppcm à calculer

leojean890: omg bon t'as sûrement un meilleur truc que ma dernière idée:)

leojean890: moi je voulais juste reorder les lignes et colonnes en mode 1 2 3 4 5 6 <=> 1 3 5 2 4 6

leojean890: =>*

leojean890: genre tu aurais une complexité meilleure que (w+h)*periode

Zorg1: bah en fait pour une permutation en général, t'as un ensemble de cycle de périodes différentes

leojean890: j'essaye de comprendre ce que tu fais exactement :P

Zorg1: bah le premier point de ta ligne a un cycle de période 1

Zorg1: après je calcule combien de transfo il me faut pour que le second point revienne à sa position

Zorg1: etc ...

leojean890: ah ouais je vois

leojean890: je crois

leojean890: le premier c'est vrai qu'il bouge pas

leojean890: le second il fait 1, ceil(w/2), ..

MrHydeal: Je crois que j'ai une meilleure compléxité

leojean890: en raisonnant ainsi on peut ptet faire mieux que mon dernier truc

MrHydeal: Je regarde uniquement le point en 1,1 perso

Zorg1: après je pense que tu peux te débrouiller avec la décomposition en facteur premier

Zorg1: mais j'ai un peu la flemme

MrHydeal: Je crois que j'ai O(periode) environ

leojean890: ah nice

leojean890: ptet comme Zorg1^^

MrHydeal: J'ai posté en C ce que j'ai fait :P

Zorg1: oui je teste pas tous les points de la ligne

MrHydeal: J'en test un seul dans tout le tableau perso ^^, du coup j'ai pas d'array

leojean890: ah ouais juste le 1,1

leojean890: nice

Zorg1: (enfin si, mais je crois que j'ai une complexit o(w+h) en fait)

leojean890: le 1,1 c'est logique il bouge bcp

leojean890: précisément il est sans arrêt entrain de bouger car il est sur les ligne et colonne impaires

leojean890: du coup regarder que lui je pense que c'est une bonne idée ouais

MrHydeal: Je pese qu'on peut prouver que c'est le point dont le cycle est le plus long obligatoirement et que donc son cycle = le cycle global

Zorg1: je suis pas trop convaincu mais j'ai pas trop regardé

MrHydeal: J'aurais du mal à faire la démonstration, mais de ce que j'ai vu, le point en 0,0 ne bouge jamais, le cycle du point en 0,1 dépend uniquement de y et le cycle du point en 1,0 dépend uniquement de x

Zorg1: oui c'est o(w+h) mon truc en gros

leojean890: *periode ?:P

MrHydeal: oui ^^

Zorg1: bah non pas de *periode

leojean890: ah nice^^

MrHydeal: au lieu de cycle il voulait dire

leojean890: oui periode c'est le terme d'

leojean890: de l'énoncé

leojean890: mais c'est cycle

leojean890: le truc à retourner

Zorg1: bah la période du cycle ^^

leojean890: mais t'as un w+h tout court sans ça pour trouver la période du cycle

leojean890: ;)

MrHydeal: Je peux prouver que la période total c'est le max entre la période des quatres points 0,0 1,1 0,1 et 1,0; mais je sais pas prouver que c'est toujours la période du point 1,1; si quelqu'un y arrive ça m'intéresse ^^

Default avatar.png JBM: comment es ton re

leojean890: les points avec x et y impairs font le max de déplacements, c'est logique mais c'est pas une preuve rigoureuse en effet ;p

Zorg1: bon c'était marrant ce petit exo ;-)

MrHydeal: Apparremment on peut juste trouver une formule de math sans avoir besoin de simuler quoi que ce soit ^^

Zorg1: oui en factorisant

Zorg1: Automaton2000 éclaire nous

Automaton2000: vu qu'on a pas vraiment de raison de faire du code de base effectivement.

Zorg1: ^^

Zorg1: ce bot est génial

leojean890: en effet 100% avec ta méthode MrHydeal

leojean890: O(period)

leojean890: tu fais quel multi Zorg1 ?

Zorg1: là rien je finis l'AoC à mon rythme

Zorg1: en espérant avoir fini avant le jour de l'an :D

leojean890: d'accord, vu que tu parlais de bots :P

Zorg1: ah c'était un chatbot

leojean890: ah^^

leojean890: "codez votre propre automaton !"

Default avatar.png JBM: si t'aimes les automaton (cellulaires) faut faire l'AoC

Zorg1: oui y en a eu trois AoC avec si j'en oublie aucun

Zorg1: avec des automates cellulaires

Zorg1: les sièges, le jeu de la vie 3D et les hexagones

Zorg1: un seul exo avec du pseudo assembleur

Zorg1: c'est inhabituel

leojean890: ah oui je débarque j'avais pas vu que t'avais ping automaton mdr

Zorg1: ouah "je vous apprend à coder" ce titre de stream ^

Zorg1: ^^

Zorg1: apprendre à coder avec des CoCs je ne suis pas convaincu, mais c'est sans doute parceque je suis un dinosaure

dwarfie: bah , c'est pas " apprendre a bien coder " apres tout ;)

leojean890: les coc ça apprend à se magner

leojean890: ou à golfer selon le sujet

leojean890: selon l'objectif propre de chacun....

MrHydeal: C'qui est pas vraiment des bonnes pratiques de coding en général

MrHydeal: Mais ça fait réfléchir autrement parfois, je nie pas

leojean890: pas vraiment vraiment^^ "apprendre à coder rapidement dans l'urgence" ;)

leojean890: respecter des deadlines short:P

MrHydeal: ça oui, mais le golf par contre

leojean890: le golf ça apprend des tips de langages

Zorg1: oui tu intéresses la partie, tu corriges en prod en 4éme vitesse :p

leojean890: mais bon c'est pas qqc à appliquer strictement derrière^^

leojean890: les chefs de service qui veulent un dev fini rapidement plutôt qu'un truc maintenable :P

leojean890: en fait niako aime bien les puzzles de traitement d'images

leojean890: après celui de tout à l'heure y'a seam-carving

leojean890: JBM valideur à chaque fois;)

Default avatar.png JBM: a chaque fois de quoi?

leojean890: sinon je pourrais faire une IA sur le chess de reCurse ça devrait être fun)

leojean890: tu as validé le photo booth et le seam carving

Zorg1: seam carving il est pas mal j'ai appris un truc ^^

leojean890: approximation de dérivées

Zorg1: euh non plutôt la technique pour réduire une image en virant une ligne de "moindre énergie"

leojean890: oui je vois^^

leojean890: technique de compression

leojean890: (ai pas fini d elire l'énoncé)

leojean890: de lire*

Zorg1: pas vraiment

leojean890: y'a des articles en références qui peuvent permettre d'en savoir plus sur les utilités

leojean890: resizer plutôt on dirait

SUNNFIT: bonsoir