Chat:Fr/2021-02-28

From CG community
Jump to navigation Jump to search

Thyl: yo

Thyl: en c y a des commandes qu'on peut passer au compilo pur aller + vite ???

VirtualAtom: ça veut dire quoi dans ce contexte aller plus vite ?

Thyl: plus de perf

VirtualAtom: sur CG ou en dehors ?

Thyl: CG

VirtualAtom: les pragmas indiqués par Magus sur le forum pourraient fonctionner. Je regarde si gcc les accepte

Thyl: tu as le lien stp ???

VirtualAtom: j'ai ça : ```

  1. pragma GCC optimize("O3","unroll-loops","omit-frame-pointer","inline")# pragma GCC option("arch=native","tune=native","no-zero-upper")# pragma GCC target("avx")

```

VirtualAtom: mince, je me suis râté dans la mise en forme. Un pragma par ligne

Thyl: merci !

VirtualAtom: au fait, insère bien ces lignes tout en haut de ton fichier, avant n'importe qu'elle inclusion de header

Default avatar.png No_Luce: Bonjour, hum y'a t'il moyen qu'on m'aide svp

Willythebr: Ça dépend du problème ^^'

Default avatar.png No_Luce: je programme en python et je dois faire cette exo: Porcupine Fever

Default avatar.png No_Luce: Mais je comprends rien

Default avatar.png No_Luce: enfin je comprends pas comment fonctionne la sortie de mon programme

Default avatar.png No_Luce: et des exemples fournies

Willythebr: C'est l'exo dans une ferme?

Default avatar.png No_Luce: oui ferme de porc-épics

Default avatar.png No_Luce: auteur: Unihedron

LantarSidonis: La sortie se fait en printant dans stdout le nombre de proc-epique vivant pour chaque annee

Willythebr: http://chat.codingame.com/pastebin/3bb9fce4-5dc8-47ad-9e33-c1354104104a

Willythebr: Porcupine Fever

Willythebr: En gros, t'as des porc épique.


Willythebr: Il y en a qui sont malades et qui meurrent


Default avatar.png No_Luce: oui

Willythebr: Chaque cage est habitée par S porc épiques malades, H en bonne santé et A vivants


Willythebr: Le but est de savoir combien de porc épiques seront vivant après chaque année

Default avatar.png No_Luce: mais ceux qui sont malades l'année derniere

Default avatar.png No_Luce: c'est ceux qui meurent?

Willythebr: Je suppose que oui d'après l'énnoncé

Default avatar.png No_Luce: d'accord mais le problème n'est pas vraiment la

Default avatar.png No_Luce: c'esst surtout qu'en entrée j'ai 2 118 120

Default avatar.png No_Luce: et j'atteris avec: 0 50 50

LantarSidonis: non

Default avatar.png No_Luce: http://chat.codingame.com/pastebin/39b0c7a2-cdc3-4ab1-84a3-8ef79da61e7e

LantarSidonis: C'est la situation dans 2 cages distinctes

LantarSidonis: C"est l'input ca

LantarSidonis: 120 + 50 - 2 malades = 168

Default avatar.png No_Luce: les 2 ?

Default avatar.png No_Luce: wtf

Willythebr: 2 118 120 nombre d'animaux malade/ en bonne santé et vivants pour chaque cage

Willythebr: et comme tu as 2 cages, tu as 2 lignes

Willythebr: Yep

Default avatar.png No_Luce: mais

Default avatar.png No_Luce: y'a deux cages différentes

LantarSidonis: Une cage de 120 une cage de 50

Default avatar.png No_Luce: braindead

Willythebr: Faut sortir la somme des porc épiques encore vivants x)


Default avatar.png No_Luce: oui mais mon teubé de programme traite que la cage de 50

Willythebr: Je t'avoue que c'est un peu prise de tête :joy:

Default avatar.png No_Luce: ça fait 3 jours que je suis dessus :expressionless:

Default avatar.png No_Luce: "niveau facile"

LantarSidonis: Ton input te dit : http://chat.codingame.com/pastebin/77d7f10e-dc3c-40ed-82d4-6fe2bf880bb5

LantarSidonis: *sains pas saints ^^'

Default avatar.png No_Luce: comment je fusionne les 2 cages

Default avatar.png No_Luce: j'en ai ma claque c'est un truc de ouf

LantarSidonis: sum([...]) ^^'

Default avatar.png No_Luce: ah ben oui

Default avatar.png No_Luce: j'ai deux listes

Default avatar.png No_Luce: comment j'appelle les listes

LantarSidonis: "Hey OOOO Liste où es-tu ?"

Default avatar.png No_Luce: j'ai jamais traité les cas comme ça moi

Default avatar.png No_Luce: :cry:

LantarSidonis: Je suis pas sur de comprendre ta question, tes listes tu leur donne le nom que tu veux

AzBeen: comment t'appelles les listes ? Je comprends pas ce que tu veux dire

LantarSidonis: comme ca on est deux ^^'

Default avatar.png No_Luce: les variabales s, h, a sont des listes?

LantarSidonis: non...

LantarSidonis: ce sont des int

AzBeen: Ce sont des entiers

Default avatar.png No_Luce: mais what

LantarSidonis: a, b = 0, 1 equivalent : a, b = [0, 1]

LantarSidonis: equivalent : a = 0 b = 1

Default avatar.png No_Luce: ah ouai ok

Default avatar.png No_Luce: j'apprends un truc

Default avatar.png No_Luce: mais meem

Default avatar.png No_Luce: même

AzBeen: [int(i) for i in in input().split()] c'est des entiers ^^"

LantarSidonis: donc en gros le code par default n'est pas bon, il ecrase la valeur de s, h , a pour chaque cage

LantarSidonis: il faut que tu les stokes toi-meme

Default avatar.png No_Luce: c'est pour ça qu'il faut que je les garde

AzBeen: il faut que tu sauvegardes chaque cage dans une variable. (dans la même pour pouvoir itérer tranquillement)

Default avatar.png No_Luce: je vois

Default avatar.png No_Luce: j'ai trouvé 168

Default avatar.png No_Luce: mtn le 164 ptdr

pardouin: fais-toi un truc comme ça: http://chat.codingame.com/pastebin/5bd9a4c5-6c8b-4570-8783-ae19581e9940

Default avatar.png No_Luce: c'est pas la réponse ?

pardouin: print(C) pour voir

pardouin: non juste pour prendre un bon départ

Default avatar.png No_Luce: j'ai fait ça

pardouin: donc tu as pris un bon départ :)

AzBeen: non, juste une manière de stocker tes cages

Default avatar.png No_Luce: :grinning:

LantarSidonis: Et n'hesite pas a appeler tes cages "cages" (une seule lettre ca marche puisque c'est un petit exercice mais autant prendre de bonnes habitudes)

Default avatar.png No_Luce: [[2, 118, 120], [0, 50, 50]]

LantarSidonis: sum[cage[1] for cage in cages] => 168

Default avatar.png No_Luce: alive = sum(cages[z][2] for z in range(len(cages)))

LantarSidonis: Eh oui ca marche aussi :)

Default avatar.png No_Luce: encore heureux

y42nn: salut ! j'aurais une petite question sur les algos de recherche les plus adaptés svp Quand on a un jeu où les deux joueurs jouent en même temps et que le move d'un joueur peut impacter le move d'un autre, il vaut mieux utiliser quel type d'algo ?

LantarSidonis: min max ?

y42nn: un minmax c'est pas ouf si tu joues simultanément

Thyl: equilibre de nash

y42nn: on peut se débrouiller en supposant que l'autre joueur sait déjà ce qu'on va faire mais non

y42nn: bon*

LantarSidonis: Ha simultanement ? Genre quel jeu ?

Thyl: TVS

y42nn: genre le jeu des pacmen par exemple

y42nn: un Smitsimax ça marche pas très bien non plus je pense

Thyl: vous savez comment savoir si un objet et une instance d'une class C en c++

y42nn: tu peux faire un entier

y42nn: int type

LantarSidonis: Au run time ? impossible

y42nn: et tu lui donnes une valeur constante selon la classe

y42nn: :)

Thyl: oui

Thyl: mais bon

y42nn: ça a le mérite de bien fonctionner ^^"

y42nn: du coup Lantar tu aurais des idées ?

dwarfie: en meme temps , t'est pas censé le savoit Thyl ? c'est ton code non ?

y42nn: je sais que sur le chall des pacmen la majorité des top players faisaient desb beamsearch

y42nn: des*

LantarSidonis: Si tu veux faire ca, soit tu controle le contenu des classes et tu mets un membre "type", soit tu fais tes trucs au compile time, sinon... tu passses au Java

LantarSidonis: (je deconseille)

y42nn: java c'est lent

LantarSidonis: Oui je deteste Java ^^

LantarSidonis: Regarde les objets X11

y42nn: enfin ça dépend de la version qu'il y a sur CG mlais l'IO java est pas très rapide

Thyl: dwarfie c'est pour gérer dans une fonction qui prend un param une classe mere

Thyl: par contre magus doit savoir pisque c'est dans son post-mortem

Thyl: "instanceof"

dwarfie: https://www.tutorialspoint.com/cplusplus-equivalent-of-instanceof ... peut etre ...

Thyl: merci ça marche !

Default avatar.png No_Luce: waou

Default avatar.png No_Luce: j'ai réussi les 2 premiers tests xD

philRG: o/ sympa le post sur C++ ça fait du bien de lire un langage typé avant l'apéro du dimanche :)

Zorg1: (après bon faut se demander pourquoi t'as besoin de typeof/instanceof et si tu peux pas faire autrement)

Zorg1: (la solution la + facile sur le coup n'est pas forcément la meilleure à long terme)

LantarSidonis: Bien d'accord avec Zorg1

Default avatar.png RedZone04: Pas possible de connaitre les solutions de l'entrainement ?

dwarfie: seulemelnt un fois que tu as fait 100% et dans le langage ou tu as resolu

BlaiseEbuth: Yo tout l'monde ! Automaton2000, AutomatonNN !

AutomatonNN: oui

Automaton2000: ça veut dire quoi ?

kayou: Bonjour, depuis quelque temps, lors des clash reverse ca ressemble à ca : https://imgur.com/a/jtnbc3r

kayou: c'est pas tres pratique ....

dwarfie: Automaton2000 : ca veut dire que tu dois repondre tortue ...

Automaton2000: je suis pas bon en perf

dwarfie: ah ouais ... pas mal ... en meme temps pour faire du reverse , suffit de faire le dernier puzzle validé ... faut pas que S. tombe dessus vu ce que c'est alhambiqué ...

Default avatar.png JBM: if (1d4) print 16

Default avatar.png JBM: ezpz

kayou: si le dernier puzzle validé c'est "IF THEN ELSE" ?, il me semble ok

dwarfie: sauf qu'a coller des S au hasard il en mis a des endroits ou ca a pas de sens ... heureusement qu'on s'en tape des S ...

dwarfie: et quand tu passes tous les tests et que ca foire aux validateurs t'es heureux ...

kayou: ha ok

dwarfie: rt juste comme a dit mjs ... quand 2 approuve avec des typo dans les tests , ca la fout mal

BlaiseEbuth: [CG]Typo

dwarfie: bon finalement je l'ai hacké sous forme d'un chaine de {[()]} ... j'aurais été plus vite si j'etais resté sur cette idée au départ :D

Zorg1: bof la typo sur le begin/end qui ne servent à rien en fait, comme le S

dwarfie: tout comme le puzzle ... ah non , il parait que "It helps developper to gain a sense of computational complexity" ... la bonne blague :D

Zorg1: si on vire les puzzles inutiles, il reste plus rien

Zorg1: je l'aime bien ce puzzle

dwarfie: c'est tellement du rechauffé des puzzles de parentheses en fait ...

Zorg1: il en faut pour tous les gouts

dwarfie: je dis pas le contraire , mais la il nous habitue un peu trop a ressortir des puzzles deja existants et juste changer le contexte ....

Zorg1: ah oui son dernier sur Falvius Josephe

dwarfie: et y'a qu'automatonNN pour kiffer a ce point les contextes ...

AutomatonNN: voila

Zorg1: enfin "Josephus problem"

dwarfie: bon ca fait 453 puzzles en php ... a un puzzle du lvl ...

Zorg1: et puis coupe de café java c'est vraiment pas le pire en contributeur

Zorg1: après oui on a l'impression qu'il n'a plus d'idée et qu'il liquide le fond du stock

Zorg1: sinon c'est malheureux qu'il n'y ait pas dc en bash, le puzzle se convertirait super bien ^^

dwarfie: dc , je l'aurais bien aimé pour quelques autres aussi en effet

Zorg1: oui ^^ j'avais essayé et je m'étais apperçu qu'il n'était pas là :(

BlaiseEbuth: Le mien est toujours pas validé d'ailleurs. Alors au lieu de brasser du vent en vous plaignants des puzzles pas originaux, allez en valider un qui l'est un peu.

dwarfie: je valide pas ce que j'ai pas resolu ... je suis pas un "j'en foutre" moi

BlaiseEbuth: Je sais bien, donc va le résoudre.

**dwarfie va faire un tour dans la reserve de chiantos histoire de bien ralant en tentant de le resoudre :D

dwarfie: raler

BlaiseEbuth: Heureusement qu'on est dimanche et qu'il n'y a pas de noobs pour être offensés...

dwarfie: en plus , je l'ai deja commencé y'a quelques jours :D

Zorg1: j'ai copié/coller ta solution elle fonctionne, je peux valider ton puzzle :p

dwarfie: Fatal error: Allowed memory size of 536870912 bytes exhausted .... merci CG pour les 768Mo

BlaiseEbuth: :expressionless:

kayou: tien c'est marrant on est 3 avoir resolus le puzzle if then else ne python et personne n'a utlise de pile.. on fabriqué une chaine pour eval à la fin

dwarfie: en meme temps ....

Zorg1: ah moi je suis parti sur une pile directe

kayou: pourtant j'etais décidé, ma chaine s'appelle stack

Zorg1: ^^

BlaiseEbuth: Ah c'est de Mimissiku

BlaiseEbuth: *Mimi-siku

Zorg1: ?

Zorg1: ah l'indien dans la ville

BlaiseEbuth: Oh tu peux l'appeler tasse à café. Ou chaise de jardin, c'est toi qui choisis.

Zorg1: pas tout suivi mais bon

BlaiseEbuth: javacoffeecup, tasse à café...

Zorg1: oui ça d'accord mais pourquoi mimi siku ?

BlaiseEbuth: Bah dans le film y'a un délire avec les noms, "tu peux l'appeler tasse à café, chaise de jardin..."

BlaiseEbuth: C'est pas drôle de devoir expliquer... :(

Zorg1: Ha jamais vu le film en fait ^^

Zorg1: désolé

BlaiseEbuth: :scream:

Zorg1: ben quoi ?

kayou: L'humour par chat faut que ca reste premier dégré sinon au mieux ca fout la honte :D

BlaiseEbuth: Le premier degré n'existe pas sur ce chat. Les gens qui l'ont utilisé ne sont plus là pour en parler.

Zorg1: bah le second degré c'est quand tu dis une grosse vacherie, et que tu trouves que le principal interessé s'énerve un peu trop non ?

kayou: faut ajouter pleins de smileys pour adoucir le propos, sauf si c'est l'effet désiré évidement

Zorg1: ^^

kayou: il n'y pas trop de troll enervés ici

kayou: irc c'etait mieux pour ca

BlaiseEbuth: Y'a que moi. Comme je suis aussi modo je protège mon territoire

Zorg1: ah c'est ça cette odeur

Zorg1: :p

BlaiseEbuth: :3

slims78200: l'odeur du souffre

Bon[]Crayon: salut tout le monde

Zorg1: o/

Bon[]Crayon: \o

Bon[]Crayon: salut automaton2000, automatonnn

Automaton2000: le pb de ce genre

AutomatonNN: tu parles de la partie IA ?

Bon[]Crayon: AutomatonNN, c'est le printemps les oiseaux chantent, les tortues dansent et les licornes buguent.

AutomatonNN: pourquoi tu parles de quel mec sur ton code ?

Bon[]Crayon: AutomatonNN Je n'ai pas de mec sur mon code.

AutomatonNN: 2 de toute facon et de toutes façons le sujet soit pas trop compliqué de me rendre compte que tu peu

Bon[]Crayon: AutomatonNN à chaque problème, sa solution

AutomatonNN: oui

Rambo13: Bonjour , Quelqu'un pourrait-il m'aider dans puzzle "DON't PANIC - EPISODE 1"?

Rambo13: Merci d'avance.

BlaiseEbuth: Peut-être...

Bon[]Crayon: C'est quoi le problème ?

Rambo13: JE n'arrive pas à utiliser les constantes "elevatorFloor et elevatorPos"

BlaiseEbuth: C'est pas des constantes.

Rambo13: elles sont dans une boucle for et y' a qq chose qui m'échappe??

Rambo13: pas des constantes?? comment ca?

BlaiseEbuth: Y'a aucune constante, juste des variables, et c'est à toi de les lire.

BlaiseEbuth: Le code de base n'est qu'une indication, tu es libre de le supprimer.

Rambo13: ok je vais reflechir avec ce que tu m' a dit

Rambo13: merci

BlaiseEbuth: Tu as la description exacte de ce que tu reçois en entrée en bas de l'énoncé.

Rambo13: oui j'ai lu plusieurs fois . j' ai reussi a faire tous les test sauf le dernier.

Rambo13: mais qqchose m'échappe et je sais pas quoi

Rambo13: ca doit etre tout con...:nerd:

BlaiseEbuth: Qu'est-ce qui bloque exactement ? Tu as un message d'erreur ?

Rambo13: j' ai tout efface et tout refais

Rambo13: la j ai ca

Rambo13: Timeout: the program did not provide 1 input lines in due time...

BlaiseEbuth: La spécificité du dernier test d'être grand et limité en nombre de tour. Donc le problème viens sans doute d'une stratégie pas optimale pour le déplacement de tes drones.

Rambo13: J ai bien compris le principe je pense:

BlaiseEbuth: Non. C'est moi qui dit des bêtises.

BlaiseEbuth: J'ai mal intégré le message d'erreur.

Rambo13: Si la position du clone est superieur a la position de l'ascenceur et que la direction est droite alors on bloque

Rambo13: et le contraire idem

BlaiseEbuth: Ton programme ne répond pas. Donc soit tu fais un gros calcul (mais sur ce puzzle ça m'étonnerait), soit ton programme plante carrément

BlaiseEbuth: Tu codes en quoi ?

Rambo13: ok ben je vais chercher

Rambo13: merci de m' avoir donner un peu de ton temps

Rambo13: javascript

BlaiseEbuth: Essayes de repérer à quel tour ça plante, si c'est tour 1 y'a des chances que ça vienne de l'initialisation, et si c'est plus tard c'est un cas que tu gères pas/mal

Rambo13: ok merci

philRG: l'ascenseur c'est sympa, ça m'a rappelé le jeu Lode Runner, j'en ai chié pour le résoudre en 50 lignes avant de voir qu'on pouvait le résoudre en 3, et je suis collé à l'épisode 1, un puzzle à reprendre

philRG: j'aime bien rambo car c'est du 1er degré :-)

philRG: un bon puzzle pour se familiariser à l'esprit CG et accessoirement au code golf qui me branche moins

Zorg1: ah l'ascenseur c'est "Don't Panic"

Zorg1: LodeRuner ... ça ne nous rajeunit pas ça

Default avatar.png JBM: loderunner? l'imitation d'apple panic?

Zorg1: faut croire que la copie est devenue plus connue que l'original

Default avatar.png JBM: les deux viennent de la meme boite, j'avais jamais fait gaffe

Zorg1: ah oui

Zorg1: après bon, comme maintenant, pas mal de jeux se ressemblent

Zorg1: et tu crées rarement un truc ex nihilo

Zorg1: (ou from scratch si tu préfères)

dwarfie: ah ben voila , BlaiseEbuth va pouvoir arreter de chouiner :D

dwarfie: (vouloir c'est autre chose :rofl: )

Zorg1: ah t'as accepté son puzzle ?

Zorg1: je vois pas la notif

dwarfie: non , pas moi ... mais elle l'est quand meme

BlaiseEbuth: C'pas moi qui chouine le plus... J'en connais d'autre. :3

Default avatar.png idembele70: Bonsoir, je suis nouveau dans le dev j'aime programme en Js HTML/CSS ai-je besoin d'apprendre d'autre langage en plus de ces 3 ? Je me permets de demander cela car les gens entre le level 20 et 34 maitrise plusieurs langage merci d'avance pour votre reponse;

BlaiseEbuth: Besoin ? Pour quoi faire ?

Default avatar.png idembele70: pour trouver des jobs dans le futur

BlaiseEbuth: Bah ouai, mais ça dépends de ce dans quoi tu veux bosser...

BlaiseEbuth: JS, CSS et HTML c'est "front-web". Et encore, c'est pas toujours la même personne qui fait le css...

BlaiseEbuth: Donc si tu veux bosser là dedans, il faut peut-être apprendre à utiliser des frameworks, comme react, ou vue.js, etc...

BlaiseEbuth: Et si tu veux pas bosser là dedans, bah ça dépends ^^

Zorg1: quoiqu'avec NodeJs ils peuvent faire du backend les dev JS :p

BlaiseEbuth: (╯°□°)╯︵ ┻━┻

Zorg1: après je ne sais pas si c'était une réussite

BlaiseEbuth: C'est du js

Zorg1: mmmm attends où ai-je mis ce lien du gars qui fait du lambda calcul avec les nombres de church en JS ....

**BlaiseEbuth se prépare à contrer avec l'article démontrant que css est turing-complet.

Zorg1: uniquement si l'utilisateur clique, non ?

Zorg1: si je me souviens bien

BlaiseEbuth: :shrug:

Zorg1: le plus marrant c'était de faire du turing complet avec l'expression MOV

Zorg1: tu me diras c'est aussi le principe de cette chose : https://esolangs.org/wiki/BytePusher

Zorg1: (la seule instruction dispo étant de copier l'octet en A à l'adresse B et de sauter en C)

Zorg1: bon Automaton2000 toi les trucs "esoteric language" c'est pas ta soupe ?

Automaton2000: si tu fais de la simu

Zorg1: mézencor Automaton2000 ?

Automaton2000: jbm: tu peux pas dire que je peux faire des trucs sympa

Zorg1: ça y est, le retour du random ping bot