Chat:Fr/2020-07-01
Bon[]Crayon: Toc Toc Toc les bots AutomatonNN, Automaton2000
AutomatonNN: oui
Automaton2000: bon il y a longtemps
Bon[]Crayon: Salut
Magus: Salut tout le monde et Automaton2000
Automaton2000: qui ne marche pas pour moi
dbdr: pauvre AutomatonNN, on t'oublie?
AutomatonNN: voir pas le bon temps de contest de contest qu'on peut pas te plaire
tekki: salut tlm et yop AutomatonNN
AutomatonNN: surement que tu as pas besoin de te connecter au pire t'es tout seul sur le chat :(
tekki: AutomatonNN dessine-moi une matrice
AutomatonNN: ouais j'ai pas trop compris ce que tu veux dire
tekki: pourtant c'est simple, demande à AUtomaton2000 il t'expliquera ;)
Automaton2000: vu qu'on a pas encore compris
tekki: bon raconte-moi une histoire stp AutomatonNN
AutomatonNN: ové
tekki: ové? càd AutomatonNN?
AutomatonNN: re
Bon[]Crayon: AutomatonNN une histoire de tortue et de robot
AutomatonNN: oui
Bon[]Crayon: AutomatonNN :turtle: :robot:
AutomatonNN: utiliser des trucs de ce que tu veux dire
Bon[]Crayon: AutomatonNN oui
AutomatonNN: voila
Bon[]Crayon: ...
**Bon[]Crayon slaps around a bit with a large fishbot
Bon[]Crayon: (╯°□°)╯︵ ┻━┻
Bon[]Crayon: /me
Jambzee: Salut tout le monde
Jambzee: Salut Automaton2000
Automaton2000: du coup je suis obligé de mettre le nom de la fonction
Jambzee: Tu veux pas juste dire bonjour comme tout le monde Automaton2000 ?
Automaton2000: je croise les doigts pour toi
Jambzee: C'est gentil mais je veux juste un peu de politesse ...
pardouin: Bonjour la street, Automaton2000 et AutomatonNN o/
Automaton2000: oui enfin si c'est pour les faibles
AutomatonNN: vous allez bien en fait je suis pas sur que c'est pas trop compliqué de faire un truc pareil que je
Bon[]Crayon: Automaton2000 Tortue, bête infernale du Tartare.
Automaton2000: un peu plus que ça
Bon[]Crayon: Automaton2000 Tortue, bête infernale du chat CG.
Automaton2000: qui est la plus grande
Bon[]Crayon: Automaton2000 Tortue du chat.
Automaton2000: c'est juste le parser de cg je crois
Bon[]Crayon: Automaton2000 Tout s'explique.
Automaton2000: moi je l'ai vu dans un replay
Bon[]Crayon: Automaton2000 Et sur le chat ?
Automaton2000: bonjour j'ai un problème avec le puzzle
Bon[]Crayon: Bonjour le bot Automaton2000. Bienvenue sur le chat.
Automaton2000: bah c'est pas une mauvaise idée
Bon[]Crayon: Automaton2000 non plus
Automaton2000: ah merde je viens de trouver un bug dans mon code
Bon[]Crayon: Automaton2000 DON'T PANIC!
Automaton2000: est ce que vous avez fait le puzzle de dwarfie
Bon[]Crayon: Automaton2000 celui avec les nombres premiers
Automaton2000: je ne suis pas du tout le temps
Bon[]Crayon: Qui est vous Automaton2000 ?
Automaton2000: mais le mieux c'est de faire des tests
Bon[]Crayon: Automaton2000 Est vous un bot ?
Automaton2000: on en a pas tant que ça
Bon[]Crayon: Automaton2000 Ils sont partout.
Automaton2000: quelqu'un connait le jeu de test
Bon[]Crayon: Automaton2000 personne
Automaton2000: o/ à tous et à Bon[]Crayon
Bon[]Crayon: o/ Autmaton2000
Bon[]Crayon: o/ à tous
Bon[]Crayon: o/ Automaton2000 :robot:
Automaton2000: et il n'est pas nécessaire
RiuuzakyL: bonjour j'ai un problème sur le jeu de batman, au niveau des inputs j'ai ce message d'erreur :Failure: invalid input. Expected 'x y' but found 'DR' pourtant c'est le jeu qui a chosiit par defaut de regarder cette inuput là enfin dnas le code fournit de base
JBM: essaie de mettre des chiffres plutot que des lettres
RiuuzakyL: le truc c'est quej'ai l'impression que l'erreur vient des entrées du jeu mais cellle-ci sont envoyé par le jeu lui même à chaque tour du coup je sais vraiment pas pourquoi ça plante
JBM: je vois ca, mais as-tu essaye d'envoyer des nombres plutot que des lettres
RiuuzakyL: bah les inputs sont fixées par le jeu nn? c'est pas moi qui décide quoi envoyé en input de ce que j'ai compris
JBM: tes inputs ne sont pas le pb
RiuuzakyL: je comprends pas alors ^^ car le message d'erreur est celui-ci : Failure: invalid input. Expected 'x y' but found 'DR'
JBM: c'est l'input du juge qui est mauvaise
JBM: l'input du juge, c'est ton output
JBM: (12:52:22) JBM: essaie de mettre des chiffres plutot que des lettres
RiuuzakyL: mmmm ok jviens de comprendre merci bcp pour ton temps
Alshock: Tiens c'est vrai que c'est un facteur de confusion pour le joueur. J'y avais jamais pensé.
Thyl: yo!
Thyl: Automaton2000
Automaton2000: comment tu le sais pas
Thyl: c4EST APRCE QUE JE LE SAIS Automaton2000
Automaton2000: oui mais ça a l'air mieux que le précédent
Alshock: eh oh ! le précédent c'est moi Automaton2000 alors un peu de respect veux-tu ?
Automaton2000: je dis ça parce que ça change rien
Alshock: ah ouais d'accord, j'me fais bully par des bots et ils se savent intouchables T_T
mandajm: yooo o_o
Alshock: yo mandajm
pardouin: o/
Driikolu: http://chat.codingame.com/pastebin/364c78de-3fb9-4c95-8aa0-3831c37085aa
Driikolu: Et mon message est trop long
pardouin: ça peut être que tu print un truc de trop
Driikolu: C'est ptet parce que j'ai rajouté un " " à la fin et j'ai pas fait gaffe !
Driikolu: Je viens d'y penser ouais
pardouin: il te dit qu'il n'attendait pas de print, comprendre "pas de print supplementaire"
Driikolu: Ou une newline
Driikolu: A faire du code trop sale, j'oublie parfois des petites mecaniques...
JBM: ile code sale, c'est un art de vivre
pardouin: et allez encore un CoC où je passe 100% des tests et 85% quand je submit
pardouin: un truc où il fallait faire un BFS pour simuler le "pot de peinture" de paint
leojean890: met lui une mauvaise note hehe, ça signifie que les tests d'exemple sont pas bons/exhaustifs si c'est un reverse ? (à part si t'as mal lu ?)
pardouin: un fast mode
leojean890: BFS en COC en 15 min ?
leojean890: jamais vu ça pour le moment (enfin j'ai fait que 14 COC..)
pardouin: d'ailleurs je vais sans doute gagner malgré mon 85% parce que pas évident pour le pékin moyen
leojean890: BFS si t'es pas habitué ça peut facile mettre plus de 15 min
pardouin: ils ont tous 0% pour le moment XD
pardouin: reste 2min
leojean890: le temps de comprendre le sujet
leojean890: de coder le bfs, l'adapter au pbm
leojean890: 15 min fau être fast quoi
leojean890: faut
pardouin: j'ai fait ça :
pardouin: http://chat.codingame.com/pastebin/bf006d7d-4cbc-4435-91a4-0602adc9f401
pardouin: je pense que le soucis c'est le: if M[ii][jj]==old:
M[ii][jj] = new _explo.append((ii,jj))
leojean890: for i in range(height): print(*M[i]) => sur 1 seule ligne, ça passe en python ?
pardouin: j'aurais du aussi rajouter à l'explo si c'était déjà rempli de la nouvelle couleur
pardouin: oui
leojean890: j'peux gagner des carac dans ce cas j'pense avec ça :P
leojean890: j'pensais qu'on devait vraiment indenter des blocs
pardouin: c'est chiant de pas pouvoir revenir dessus pour tester
pardouin: non pas obligé si tout tient sur une ligne
pardouin: bon ben premier quand même, le second a 28% ^^
leojean890: pas facile quand même :P
leojean890: tu px faire pareil avec des if ?
leojean890: if a : b
leojean890: faut avoir son template de bfs que tu réutilises direct dans ces situs
leojean890: j'ai ça pour les multis perso :P
leojean890: je copie colle de l'un à l'autre et je change 2 3 bricoles
leojean890: ah en vrai pas besoin avec les if
leojean890: o+=[r,"0"+r][len(r)<7]
leojean890: vu qu'on peut faire çaen 1 ligne
pardouin: oui
pardouin: mais sinon oui tu peux ne pas passer de ligne si ça tient en 1 ligne
pardouin: les templates ce qui est relou c'est d'adapter toutes les variables
pardouin: pour un truc très long ça vaut le coup mais pour un truc moyennement long comme ici je sais pas si tu y gagnes tellement par rapport à tout écrire en ayant bien tes noms de variables et ton contexte en tête
pardouin: quand tu perds 5min à comprendre un bug qui venait juste d'un mauvais nom de variable tu as les boules ^^
leojean890: je viens de faire ça dans mes golf, j'ai gagné entre 2 et 8 carac par golf;P
pardouin: :)
Alshock: @leojean890oui tu peux et si tu veux avoir plusieurs instructions tu peux les séparer par des ;
leojean890: mauvais nom de variable j'avoue ;o
leojean890: Alshock ouais je le fais déjà ça :P
leojean890: je gagnais de la place dans les boucles en direct
Alshock: @leojean890 parfait maintenant ton code est bien illisible c'est tout ce qu'on veut$
leojean890: par contre pour les imbrications j'avais pas trop de solutions
leojean890: j'avoue :P:P
leojean890: genre en imbriquant je prends tjr plein de caracs
Alshock: ah je sais pas si on peut faire for ...: if ...: ...
pardouin: non on peut pas
Alshock: c'est vraiment mal branlé le python :P
pardouin: ce changement d'avatar en direct
fauresebast: si tu es obligé de faire des indentations, tu peux faire des indentations avec un seul espace ;)
Alshock: cette photo a été prise par mon père @pardouin, je tiens a signaler que j'ai pas changé la compression de l'image que j'ai reçue xD
Alshock: @fauresebast oui mais si tu fais des indentations c'est que t'as plusieurs lignes, tu as donc failli à ta mission de golfeur
pardouin: el famoso potato
leojean890: bah j'ai plusieurs lignes et des indentations avec 1 espace..
pardouin: oui enfin un while dans un while, même avec de la bonne volonté tu as pas des masses de substitutions possibles
leojean890: mais dans chuck norris j'ai un mauvais truc avec plusieurs imbrications..
leojean890: les autres sont mieux
Alshock: @pardouin je suis sûr que ça peut se condenser avec des bitshifts :santa:
pardouin: tu as quoi comme taille de code?
leojean890: als att je te dis ça :P
leojean890: 235 chuck norris mdr
leojean890: 221 don't panic
pardouin: moi dans l'ordre dans les 4 trucs j'ai: 165 ; 122 ; 67 ; 92
leojean890: temperatures 108
pardouin: sans bash, sans hardcode
leojean890: thor 147
leojean890: et ce même en appliquant les idées que tu m'as données hier ;P
leojean890: et non sans bash ni hardcode non plus :P
leojean890: j'ai pas les valideurs :P
pardouin: il y a encore un bonne marge de gain possible alors
pardouin: ça veut dire que tu peux encore apprendre des trucs :D
leojean890: clair j'suis loin derrière toi :P
leojean890: pour les 4
leojean890: et ecore j'ai appris qq trucs de Stilgart Haashi et dwarfie dans le chat aussi ;P
leojean890: encore*
pardouin: dans thor typiquement tu peux faire des +=bolléen
leojean890: et en proportions des gens que je bats.. CN est celui dans lequel j'ai la pire perf
leojean890: ouais mais y'a 2 variables à modifier
leojean890: +=bool pour le y, ou x
leojean890: car ajout de 1
leojean890: mais y'a le S, E, W à ajouter aussi
pardouin: y+=Y>y;x+=x<X-x>X
pardouin: ce genre de truc
pardouin: il va jamais au nord
leojean890: ouais le nord ils m'ont dit
leojean890: mais faut MAJ la lettre aussi
leojean890: moi j'applique pas ce que t'as écrit car j'ai aussi s+="S" par ex
leojean890: à moins que tu fasses ça d'un coup à la fin
leojean890: genre maj les x y avant puis les S E W après en fonction
pardouin: :)
pardouin: tu peux faire des affichages modulables genre "truc"*(booleen)+"machin"*(booleen)
pardouin: en regardant mon DP j'ai remarqué un truc et j'ai gagné 3 chars :D
leojean890: ah pour modif le y et le string printé d'un coup ?
leojean890: à voir alors
pardouin: chuck norris tu peux gagner plein de chars en utilisant groupby du module itertools
leojean890: pareil souvent j'avance par paquet de 3 environ :p
Alshock: wolah wolah, vous m'avez fait regarder les golf
pardouin: tu perds plein de chars avec import itertools as i mais ensuite tu as direct tout à dispo
Alshock: et bah j'ai jamais fait don't panic, enfin je veux dire je suis 1979e dessus en ruby
leojean890: ah ok sympa je connais pas je vais regarder :P
leojean890: DP comme toi Alshock 1980/7877
pardouin: et sinon dans temperaturs tu peux utiliser l'astuce du min vide que je t'ai filé hier
leojean890: ah ouais pour le cas où on a rien ?
leojean890: j'ai essayé hier soir j'y ai pensé justement mais j'ai pas réussi, je vais poursuivre
pardouin: d'ailleurs temperatures c'est celui où je pense que j'ai le moins de marge de progression, 67 chars je vois pas comment faire mieux, je vois zero endroit où je suis pas efficace
leojean890: Affichez 0 (zéro) si aucune température n'est fournie. => utiliser ta méthode
pardouin: voila
leojean890: mais hier soir j'ai pas réussi j'ai essayé
leojean890: mais j'vais poursuivre
pardouin: min(L or[0])
leojean890: j'ai un truc moche comme ça perso
leojean890: for i in map(int,f().split()):t=[t,max(t,i)][i==-t];t=[t,i][abs(i)<abs(t)]
pardouin: moi j'ai : I=input I() et ensuite un one-liner
leojean890: pareil le début
leojean890: je l'ai pas copié collé
leojean890: avec f() au lieu de l()
Alshock: en Ruby les 48 chars de temperatures il fait plaiz :P
Alshock: mais bon c'est de la triche c'est fait pour
pardouin: oui ruby forcément tu as plein de fonction build in sous forme de propriétés
pardouin: donc forcément entre f(x) et x.f déjà tu gagnes 1 char à chaque fois
pardouin: et globalement le nom des fonctions est assez court
pardouin: get put, etc
pardouin: tu as les ternary operators a?b:c
pardouin: enfin plein de trucs cools quoi
Alshock: mais MDR, en python j'avais géré le cas zéro température avec ça : print(int(input())and ...)
Alshock: @pardouin f(x) c'est pour les faibles, nous on écrit f x
leojean890: ah oui car premier input == 0
leojean890: tiens je passe de 108 à 102 avec ton idée Alshock ;P
leojean890: t=int(f())*999
leojean890: au début
leojean890: avec 99 ça amrche pas
Alshock: mais quelle horreur xD
leojean890: xD
leojean890: dans un des valideurs y'a des temps tellement hautes que j'dois multiplier par 999
leojean890: si c'est 0 ça reste 0
Alshock: je comprends pas pourquoi tu multiplies ?
leojean890: histoire d'avoir un gros t
leojean890: ensuite je réduis en prenant tjr le min
Alshock: ah tu le mets dans le min ?
leojean890: for i in map(int,f().split()):t=[t,max(t,i)][i==-t];t=[t,i][abs(i)<abs(t)]
Alshock: t=int(f())**9 suffit pas ?
Alshock: tu gagnes un char
leojean890: ah ouais j'avoue
leojean890: j'suis noob en golf hein :P
Alshock: moi aussi, mais je suis très fort en idées dégueux :P
Alshock: oooh mieux t=int(f()*9)
leojean890: mon for est pas optim du tout aussi ;P
leojean890: ah ouais nice
leojean890: concaténer 9 fois le même char
leojean890: gg mec;p
Alshock: et avec 100 températures tu te retrouves à stocker des bigints xD
leojean890: j'ai 100 carac now
leojean890: en effet :P
leojean890: ça va ça passe xD
pardouin: une astuce pour temperatures : quand on doit donner un min sur 2 critères, au lieu de faire min(L,key=truc hyper long pour gérer les deux critères), on peut faire min(sorted(L,key=2nd critere),key=1er critere)
pardouin: si un des deux critères est la clé par défaut tu y gagnes encore plus vu que même plus besoin de spécifier la clé
Alshock: mais pourquoi pas min((critere1, critere2) for ...) ?
pardouin: beaucoup trop long
Alshock: ah bah en fait je checke je suis en train de vendre mon code là :P
leojean890: ah ouais, bah moi le pbm c'est "valeur plus grande si valeur absoue est egale"
leojean890: t=[t,max(t,i)][i==-t];t=[t,i][abs(i)<abs(t)]
pardouin: tu coup ton critere 1 c'est abs
leojean890: géré en 2 cas distincts
Alshock: c'est là que je dois te gratter 2 char à tous les coups
leojean890: ah ouais critere 1 abs
leojean890: critere 2 max
pardouin: et ton critère deux c'est l'opposé de la val
Alshock: je peux pas abs parce que j'ai pas de int perso x.o
leojean890: c'est l'opposé seuement si c le max du coup
leojean890: mais ouais j'avoue y'a ptet moyen d'amélio
pardouin: oui mais comme tu vas sort
pardouin: et que le sort par défault est croissant
pardouin: ou bien tu utilises une astuce pour transformer un sort croissant en décroissant à peu de frais :D
pardouin: un truc plus court que reverse=True
leojean890: :P
Alshock: mais c'est quoi la strat du min pourquoi ça marche pas ? T_T je vais devoir lire la doc
Alshock: [::-1] ?
pardouin: quoi exactement?
leojean890: plus court que reverse=True
pardouin: voilz
leojean890: ah ouais [::-1] ça fait ça
leojean890: inverser les elements d'une liste
leojean890: nice:P
pardouin: eh ben avec ça tu fais ton sort par defaut, tu reverse et tu min avec la clé abs
leojean890: j'avoue, sort pour min avec abs comme clé, puis sort une seconde fois
leojean890: j'vais essayer :P
Alshock: abs(x) c'est long pour ordonner les valeurs selon leur absolu
Alshock: de 2 char
leojean890: t'as un truc plus court que ça ?:P
pardouin: l'avantage c'est que abs c'est une fonction build in
Alshock: ouais, y a un opérateur très court qui permet de faire ça en python :D
pardouin: donc tu peux faire key=abs
Alshock: oui pour un map c'est cool
Alshock: mais si t'as un key= c'est déjà très long non ?
pardouin: tu as combien de chars alshock en python sur temperatures?
leojean890: j'me demande de quel opé tu parles :P ptet des magouulles avec / et %
Alshock: 69
pardouin: oui mais si tu fais un sort avec un tuple du coup tu es obligé de chercher un for truc in machin
Alshock: ouais bah dans mon input().split() quoi
pardouin: dans ma solution à 67 j'ai pas de for :)
Alshock: comment il crâne, attends je cherche des trucs à débroussailer
JBM: ca faisait longtemps que j'avais pas regarde
leojean890: tiens j'suis à 74 grâce à vos tips, thx :P
leojean890: ah ,non 67 :P
JBM: dans mon IDE: un code de la bonne longueur mais qui fait pas 100% :'(
leojean890: ah 29 carrément xD
pardouin: j'ai tenté de voir avec le carré alshock mais j'arrive pas à mieux que 69
pardouin: JBM et en python sans bash ni hardcode?
pardouin: on cherche à voir si on peut faire mieux que 67
Alshock: moi j'arrive à faire toute la plage des possibles entre 69 et 74 xD
JBM: je touche pas a python si je peux y echapper
pardouin: :)
Alshock: et en ruby ? :D
JBM: j'ai et bash et perl en mieux que 69, je me sens pas challenged
pardouin: alshock j'ai trouvé ça de rigolo en 69 : un max sur (1/x/x,x)
pardouin: mais bon ça fait pas avancer le shmilblick
leojean890: mdr ces astuces farfelues ;P
leojean890: p'tet qu'on peut aussi trouver des astuces sympa de golfing sur le net d'ailleurs ;P
leojean890: j'regarderai un de ces 4
pardouin: et hop 2 chars sur DP :)
leojean890: jvais tenter d'appliquer tes idées du genre s="S"*b>y+"E"*a>x+"W"*x>a;y+=b>y
leojean890: dans thor
leojean890: ah bah 99 chars
leojean890: 95
leojean890: dmg on doit mettre les bool entre parenthèses ça fait perdre 6 chars ;P
leojean890: (b>x)
leojean890: string*bool
leojean890: priorité entre * et >
leojean890: "S"*b>y ça fait le * en premier
Neozero: Bonjour,
Neozero: Je comprend pas pourquoi ce code donne 8 et 23 et non 8 et 8 en C.
Neozero: https://onlinegdb.com/BJNG6N5CI
Neozero: Ca ne fait aucun sens pour moi.
Neozero: Hmm non c'était pour m'entrainer sur le C
Neozero: Mais j'ai trouver la solution grâce à l'aide de RockyMullet sur le chaét anglais
RiuuzakyL: yota quand je lance un test pour un le jeu batman ep2 je peux le faire avancer de round en round sauf que un round c'est un passage entier dans ma boucle , il y aura pas moyen lors du test de voir carrément l'évolution ligne par ligne pour voir dans quel boucle le programme rentre excatement pour vérifier plus simplement les booleans ?
darkhorse64: printf ?
Zorg1: comment es ton stdio Automaton2000 & AutomatonNN ?
Automaton2000: comment tu fais pour le moment
AutomatonNN: vous allez pas comment tout le monde et toi ?
Zorg1: je fais bli Automaton2000
Automaton2000: si t'as pas de problème
Magus: genre j'ai un bot qui me fait une PR sur brutaltester
Magus: Automaton2000 c'est ton pot dependabot ?
Automaton2000: je comprends même pas comment on fait pour savoir si je peux aller voir le referee
MassiveAuntieFromTheSwamps_c20a: :heart_eyes:
dbdr: Magus: c'est quoi ce délire?
Neumann: Un bot github qui détecte les et fais des PR sur les dépendances obsolètes
Neumann: fait *
Magus: dbdr: comme a dit Neumann. C'est juste un bot qui fait des PR automatiques. Pour brutaltester c'est parce que log4j2 a déclaré une faille de sécurité majeur dans la version qui était dans le pom.xml
Magus: donc le bot a fait une PR avec une version plus récente
pardouin: je viens de battre Basim et DiL (top1 et top3) en golf dans le même CoC :D
Zorg1: nice
pardouin: ils me défoncent en fast mode par contre ^^
Zorg1: fix ton bot CoC :p
Zorg1: améliore ta gruge
pardouin: les bots CoC c'est des joueurs qui les ont mis ou bien c'est CG ?
pardouin: ou peut-être un peu des deux ?
Neumann: Ca dépend lesquels
Zorg1: normalement les seul autorisés sont ceux de CG, qui permettent d'assurer d'avoir toujours des joueurs quelque soit l'heure
Zorg1: (généralement ils sont tous Level 7 et quand tu regardes leur stat ont un nombre halucinant de CoC)
Zorg1: ah ils ont même mis que c'était un bot dans l'à propos
Zorg1: ils parlent de leurs bots là : https://www.codingame.com/blog/clash-of-code-time-has-come-for-clash/
Zorg1: houla j'ai pas trollé de la journée sur ce chat. je dois couvrir un truc :(
Zorg1: automaton2000 raconte moi une histoire
Automaton2000: salut tout le monde s'en tape
Zorg1: :(
Zorg1: méchant bot, Automaton2000 !
Automaton2000: qu'est ce que tu fais pas de swap
Zorg1: je swap avec moi même, ça change pas énormément l'état, Automaton2000
Automaton2000: mais je veux pas le savoir
Zorg1: ok
leojean890: pardouin en battant les premiers tu vas gagner plein de places j'imagine ;P
pardouin: bof pas tant que ça je suis 32ème
pardouin: enfin c'est déjà pas mal :)
leojean890: t'as bien grimpé encore ces jours ci ;)
JBM: a quand la premiere place?
leojean890: tiens on peut pas factoriser ça ..
leojean890: y=map(int,input().split())
leojean890: au lieu de y=input()
leojean890: histoire de gagner des carac:p
JBM: si on pouvait, je suis pas sur que je te le dirais :p
leojean890: bah j'essaye et ça plante :P
leojean890: sauf sur le valideur 1 de DP
leojean890: donc.. faut que je comprenne pk
leojean890: sur les 6 autres ça plante
leojean890: don't panic
JBM: non parce qu'entre pikaptcha et double p euh dynamic programming
leojean890: ah ouais;P
leojean890: y=map(int,input().split())
leojean890: f,h=y
leojean890: ValueError: not enough values to unpack (expected 2, got 0)
leojean890: mais pas dans le valideur 1 ;)
leojean890: p'tet car il a un seu étage
leojean890: seul
pardouin: tu es sûr que l'input() contient deux trucs?
pardouin: c'est DP le puzzle ou le golf ?
leojean890: nbElevators lignes suivantes : un couple d'entiers elevatorFloor elevatorPos donnant respectivement l'étage et la position d'un ascenseur.
leojean890: golf
leojean890: donc 2 trucs ouais ;P
leojean890: y=map(int,input().split());z,w,r,k,x,h,j,n=y;e={k:x,-1:w}
leojean890: for i in' '*n:f,h=y;e[f]=h
leojean890: mais quand je mappais juste sur input ça allait en fait :)
pardouin: I=lambda:input().split()
pardouin: et quand tu veux en faire un tu fais I()
pardouin: sinon il demandera pas de nouvel input
leojean890: ah ouais ok thx j'vais essayer ça :P
leojean890: donc on peut pas factoriser tt le map :P
pardouin: :)
pardouin: j'en suis à 160 sur celui-là
leojean890: 210
leojean890: pour le moment
leojean890: et je vais essayer itertools sur chuck comme t'as conseillé :P
leojean890: itertools.groupby
leojean890: pour regrouper les listes de 1 ou de 0
pardouin: tu connais la technique : 'BWLAOICTK'[le booleen qui va bien::2]
pardouin: ?
leojean890: ensuite maybe avec un dico et la len des listes afficher ce que je veux
leojean890: non je ne connais pas
pardouin: tu parcours ta str de 2 en 2
leojean890: ah ouais
pardouin: si le booleen vaut false tu pars de 0 et donc ça donne BLOCK
leojean890: j'ai pas l'habitude encore des ::N
pardouin: sinon ça donne WAIT
leojean890: je l'ai fait jste pour reverse
leojean890: ah ouais sympa
pardouin: tu gagnes 2 chars par rapport à un: ["BLOCK","WAIT"][booleen]
leojean890: ah ouais thanks
leojean890: faut que j'utilise plus souvent ::N
pardouin: ça marche quand tu as deux mot de même longueur ou qui different d'un char
leojean890: avec autre que -1
pardouin: genre YES NO
leojean890: ah ouais ok, normal du coup si ça va de 2 en 2
leojean890: YNEOS
pardouin: en général ce qui sert c'est ::-1 et ::2
pardouin: le reste très rarement
leojean890: ::3 pour 3 mots ?:P
pardouin: oui mais alors il faut se démerder pour que le truc vale 0, 1 ou 2
leojean890: ouais c plus chaud
leojean890: qu'un booleen qui donne 0/1
leojean890: gain de 7 chars grâce à ton astuce : y=lambda:input().split()
leojean890: au lieu de y=input
leojean890: sur don't panic
leojean890: je vais expérimenter le ::2
leojean890: c'est good
pardouin: allez bonne nuit
leojean890: good night:)
JBM: perfectionnisme au mauvais moment