Chat:Fr/2021-02-28
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 : ```
- 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
No_Luce: Bonjour, hum y'a t'il moyen qu'on m'aide svp
Willythebr: Ça dépend du problème ^^'
No_Luce: je programme en python et je dois faire cette exo: Porcupine Fever
No_Luce: Mais je comprends rien
No_Luce: enfin je comprends pas comment fonctionne la sortie de mon programme
No_Luce: et des exemples fournies
Willythebr: C'est l'exo dans une ferme?
No_Luce: oui ferme de porc-épics
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
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
No_Luce: mais ceux qui sont malades l'année derniere
No_Luce: c'est ceux qui meurent?
Willythebr: Je suppose que oui d'après l'énnoncé
No_Luce: d'accord mais le problème n'est pas vraiment la
No_Luce: c'esst surtout qu'en entrée j'ai 2 118 120
No_Luce: et j'atteris avec: 0 50 50
LantarSidonis: non
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
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
No_Luce: y'a deux cages différentes
LantarSidonis: Une cage de 120 une cage de 50
Willythebr: Faut sortir la somme des porc épiques encore vivants x)
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:
No_Luce: ça fait 3 jours que je suis dessus :expressionless:
LantarSidonis: Ton input te dit : http://chat.codingame.com/pastebin/77d7f10e-dc3c-40ed-82d4-6fe2bf880bb5
LantarSidonis: *sains pas saints ^^'
No_Luce: comment je fusionne les 2 cages
No_Luce: j'en ai ma claque c'est un truc de ouf
LantarSidonis: sum([...]) ^^'
No_Luce: comment j'appelle les listes
LantarSidonis: "Hey OOOO Liste où es-tu ?"
No_Luce: j'ai jamais traité les cas comme ça moi
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 ^^'
No_Luce: les variabales s, h, a sont des listes?
LantarSidonis: non...
LantarSidonis: ce sont des int
AzBeen: Ce sont des entiers
LantarSidonis: a, b = 0, 1 equivalent : a, b = [0, 1]
LantarSidonis: equivalent : a = 0 b = 1
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
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)
pardouin: fais-toi un truc comme ça: http://chat.codingame.com/pastebin/5bd9a4c5-6c8b-4570-8783-ae19581e9940
No_Luce: c'est pas la réponse ?
pardouin: print(C) pour voir
pardouin: non juste pour prendre un bon départ
pardouin: donc tu as pris un bon départ :)
AzBeen: non, juste une manière de stocker tes cages
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)
No_Luce: [[2, 118, 120], [0, 50, 50]]
LantarSidonis: sum[cage[1] for cage in cages] => 168
No_Luce: alive = sum(cages[z][2] for z in range(len(cages)))
LantarSidonis: Eh oui ca marche aussi :)
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 !
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
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é ...
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
JBM: loderunner? l'imitation d'apple panic?
Zorg1: faut croire que la copie est devenue plus connue que l'original
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
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 ?
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