Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3817 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  23678  23679  23680  ..  27003  27004  27005  27006  27007  27008
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2370481
el muchach​o
Comfortably Numb
Posté le 06-12-2020 à 19:51:52  profilanswer
 
mood
Publicité
Posté le 06-12-2020 à 19:51:52  profilanswer
 

n°2370482
Plam
Bear Metal
Posté le 06-12-2020 à 19:54:28  profilanswer
 

Flaie a écrit :

Le low level c'est quand même moins ma passion même si ça doit être extrêmement intéressant :D
Et puis j'aime bien mon poste actuel, et faut pouvoir s'aligner  [:atom1ck]  [:kastor94:1] :o

 

C'est surtout bosser sur des problèmes plus proche du hardware, où chaque context switch compte etc. Et la satisfaction de voir tes VMs/OS démarrer plus vite et casser des barrières d'IOPS :D

 

edit : et de faire du C ou du Rust et que ça a beaucoup de sens ici :D

 

edit 2 : mais bon, on fait toute la pile aussi, jusqu'à de l'UI web pour gérer tout ça :D


Message édité par Plam le 06-12-2020 à 19:55:25

---------------
Spécialiste du bear metal
n°2370483
flo850
moi je
Posté le 06-12-2020 à 19:59:59  profilanswer
 

masklinn a écrit :


En même temps il est une note assez commune que ton but c'est de résoudre ton énoncé :D T'as aucune obligation de résoudre le problème générique, ou de gérer tous les edge-case possibles.

Spoiler :

Mais ça peut aussi te piéger s'il y a justement des edge-cases un peu bizarres



Moi je craignais qu'il y ai des clés en double


---------------

n°2370484
masklinn
í dag viðrar vel til loftárása
Posté le 06-12-2020 à 20:10:08  profilanswer
 

Kenshineuh a écrit :

C'est le cas sur Codingame. Tu passes leur tests et au moment de soumettre ton code, tu as plein de trucs qui cassent. :D


Oui je voulais dire assez commune pour AoC [:romf] Pour d'autres sites de challenge c'est très différents parce qu'il y a tout un jeu de validations secrétes, mais pour AoC c'est pas le cas, t'as toutes les infos et tu dois juste trouver la bonne réponse.


Message édité par masklinn le 06-12-2020 à 20:10:25

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2370485
ratibus
Posté le 06-12-2020 à 20:30:57  profilanswer
 

masklinn a écrit :


En même temps il est une note assez commune que ton but c'est de résoudre ton énoncé :D T'as aucune obligation de résoudre le problème générique, ou de gérer tous les edge-case possibles.

Spoiler :

Mais ça peut aussi te piéger s'il y a justement des edge-cases un peu bizarres



C'est mon habitude d'être défensif :o
Et oui c'est un pari de prendre des raccourcis dans la première partie qui ne fonctionnent plus dans la seconde :D
J'ai jamais fait l'AoC (ni d'autres coding game) alors je ne connais pas les habitudes et le côté vicieux (ou pas) des jeux de données :d

flo850 a écrit :


Moi je craignais qu'il y ai des clés en double


Ah oui bien vu, je n'ai pas pensé à ce cas-là  :jap:


---------------
Mon blog
n°2370486
flo850
moi je
Posté le 06-12-2020 à 20:34:11  profilanswer
 

note que je n'ai pas traité le cas non plus :D


---------------

n°2370487
el muchach​o
Comfortably Numb
Posté le 06-12-2020 à 20:47:39  profilanswer
 

ratibus a écrit :


C'est mon habitude d'être défensif :o
Et oui c'est un pari de prendre des raccourcis dans la première partie qui ne fonctionnent plus dans la seconde :D
J'ai jamais fait l'AoC (ni d'autres coding game) alors je ne connais pas les habitudes et le côté vicieux (ou pas) des jeux de données :d


Pareil, je me méfie un peu des données volontairement moisies cachées dans le tas.
Apparemment jusqu'à présent, pas trop de pièges de ce coté là, mais j'imagine que ça va venir après.

 


Message édité par el muchacho le 06-12-2020 à 20:53:05

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370488
el muchach​o
Comfortably Numb
Posté le 06-12-2020 à 20:52:18  profilanswer
 

flo850 a écrit :

note que je n'ai pas traité le cas non plus :D


Et il y a aussi le cas où un enregistrement est en double.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370490
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-12-2020 à 20:54:32  profilanswer
 

J'ai sous traité les jours 5 et 6 à mon fils ce weekend. Fausse bonne idée, c'est sûr qu'on fait des économies mais la qualité laisse à désirer, et faut pas être pressé...

Message cité 1 fois
Message édité par hephaestos le 06-12-2020 à 20:55:36
n°2370492
el muchach​o
Comfortably Numb
Posté le 06-12-2020 à 21:05:41  profilanswer
 

hephaestos a écrit :

J'ai sous traité les jours 5 et 6 à mon fils ce weekend. Fausse bonne idée, c'est sûr qu'on fait des économies mais la qualité laisse à désirer, et faut pas être pressé...


[:ddr555] peut-être qu'il peut les sous-traiter à la fille d'HLM :o


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
mood
Publicité
Posté le 06-12-2020 à 21:05:41  profilanswer
 

n°2370493
neo0
Posté le 06-12-2020 à 21:43:17  profilanswer
 

Hermes le Messager a écrit :


 
Si un jour tu ne continues pas à apprendre, tu pourras nous le faire savoir stp.


Merci de pas saboter la discussion


---------------
NFP106, NFP121, CSC215
n°2370495
Mackila
Posté le 06-12-2020 à 23:45:49  profilanswer
 

putin d'enfoiré de résultat D3.2 > 4G  [:matz]

n°2370497
Flaie
Posté le 07-12-2020 à 06:27:01  profilanswer
 

Day 07 done :o, 23 minutes, j'ai pas choisi la bonne piste de suite :D
C'était déjà plus fun qu'hier :)

Message cité 1 fois
Message édité par Flaie le 07-12-2020 à 06:27:12
n°2370498
el muchach​o
Comfortably Numb
Posté le 07-12-2020 à 08:10:33  profilanswer
 

Flaie a écrit :

Day 07 done :o, 23 minutes, j'ai pas choisi la bonne piste de suite :D
C'était déjà plus fun qu'hier :)


Spoiler :

pour la partie 1, c'est bien ['dim tan', 'mirrored crimson', 'light lavender', 'vibrant silver', 'muted indigo', 'wavy aqua', 'faded fuchsia', 'light indigo'] ?
Je rate qq chose.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370499
el muchach​o
Comfortably Numb
Posté le 07-12-2020 à 08:17:25  profilanswer
 

Et merde, je vois pas ce qu'il manque dans mon raisonnement. :fou:

 

edit: c'est bon je vois


Message édité par el muchacho le 07-12-2020 à 08:22:23

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370501
Flaie
Posté le 07-12-2020 à 08:22:21  profilanswer
 

el muchacho a écrit :


Spoiler :

pour la partie 1, c'est bien ['dim tan', 'mirrored crimson', 'light lavender', 'vibrant silver', 'muted indigo', 'wavy aqua', 'faded fuchsia', 'light indigo'] ?
Je rate qq chose.



Tout le monde a un input file différent donc je peux pas te confirmer que c'est ça, avec mon input la réponse de la partie 1 c'est 287 mais ça ne va pas t'aider plus :D

n°2370503
Flaie
Posté le 07-12-2020 à 08:46:08  profilanswer
 

Franchement celui qui a fini en 5min45 ce matin chapeau [:flaie:5]

n°2370504
el muchach​o
Comfortably Numb
Posté le 07-12-2020 à 09:13:56  profilanswer
 

Oh putaiiiiiiiin le set m'a foutu dans une merde !!!

 

Bon, je n'ai fait que la première partie, pas le temps de faire la 2e.

 
Code :
  1. import re
  2. contains = {}
  3. for line in open("puzzle7.txt","r" ):
  4.    # bright indigo bags contain 4 shiny turquoise bags, 3 wavy yellow bags.
  5.    m = re.split(" bags contain ", line.strip())
  6.    bags = m[1].replace(" bags", '').replace(".", '').replace(" bag", '').replace('no other', '0 other'). split(', ')
  7.    pairs = [bag.split(' ', maxsplit=1) for bag in bags]
  8.    children = [(int(child[0]), child[1]) for child in pairs]
  9.    contains[m[0]] = children
  10. #print(contains)
  11.  
  12. def find_parents(child):
  13.    parents = set()
  14.    for k,v in contains.items():
  15.        if child in [color for (number, color) in v]:
  16.            parents.add(k)
  17.    parents.discard(child)
  18.    return parents
  19.  
  20. print(find_parents("shiny gold" ))
  21.  
  22. def get_roots(color, tree):
  23.    parents = find_parents(color)
  24.    tree |= parents
  25.    if len(parents) == 0:
  26.        return tree
  27.    else:
  28.        for p in parents:
  29.            get_roots(p, tree)
  30.  
  31. ancestry = get_roots("shiny gold", set())
 

je ne sais pas pourquoi ancestry ne contient rien, mais au débugger j'obtiens le bon résultat dans tree [:marc]
et oui c'est dégueu :o

Message cité 1 fois
Message édité par el muchacho le 07-12-2020 à 09:31:17

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370507
ratibus
Posté le 07-12-2020 à 09:51:38  profilanswer
 

Première partie en 38 minutes mais j'arrive pas à faire la seconde (j'y ai passé 1h, j'arrête les frais)
La récursivité ça a toujours été ma bête noire :(


---------------
Mon blog
n°2370508
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2020 à 10:01:07  profilanswer
 

el muchacho a écrit :

Oh putaiiiiiiiin le set m'a foutu dans une merde !!!
 
Bon, je n'ai fait que la première partie, pas le temps de faire la 2e.
 

Code :
  1. import re
  2. contains = {}
  3. for line in open("puzzle7.txt","r" ):
  4.    # bright indigo bags contain 4 shiny turquoise bags, 3 wavy yellow bags.
  5.    m = re.split(" bags contain ", line.strip())
  6.    bags = m[1].replace(" bags", '').replace(".", '').replace(" bag", '').replace('no other', '0 other'). split(', ')
  7.    pairs = [bag.split(' ', maxsplit=1) for bag in bags]
  8.    children = [(int(child[0]), child[1]) for child in pairs]
  9.    contains[m[0]] = children
  10. #print(contains)
  11.  
  12. def find_parents(child):
  13.    parents = set()
  14.    for k,v in contains.items():
  15.        if child in [color for (number, color) in v]:
  16.            parents.add(k)
  17.    parents.discard(child)
  18.    return parents
  19.  
  20. print(find_parents("shiny gold" ))
  21.  
  22. def get_roots(color, tree):
  23.    parents = find_parents(color)
  24.    tree |= parents
  25.    if len(parents) == 0:
  26.        return tree
  27.    else:
  28.        for p in parents:
  29.            get_roots(p, tree)
  30.  
  31. ancestry = get_roots("shiny gold", set())


 
je ne sais pas pourquoi ancestry ne contient rien, mais au débugger j'obtiens le bon résultat dans tree [:marc]
et oui c'est dégueu :o


Dans le cas où len(parents) != 0 tu renvoies rien, donc sauf si t’as immédiatement pas de parents t’as jamais de résultat.  
 
Accessoirement, len(parents) != 0 => parents.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2370509
nraynaud
lol
Posté le 07-12-2020 à 10:08:23  profilanswer
 

'tain je suis parti dans le parsing du graphe entirer alors qu'on nous demande juste un sous-graphe, j'aurai du y aller à l'arrache par reconnaissance de chaînes dans le texte.


---------------
trainoo.com, c'est fini
n°2370510
ratibus
Posté le 07-12-2020 à 10:15:49  profilanswer
 

ratibus a écrit :

Première partie en 38 minutes mais j'arrive pas à faire la seconde (j'y ai passé 1h, j'arrête les frais)
La récursivité ça a toujours été ma bête noire :(


Bon finalement la lecture de la page wikipedia sur la récursivité m'a éclairé :D
5 minutes plus tard j'avais la solution  :bounce:  
 
Donc :
partie 1 : 38 minutes
partie 2 : 1h09
 
Ca me saoule j'avais plié la lecture du graphe (dans les 2 sens) en quelques minutes :D

n°2370511
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-12-2020 à 10:18:48  profilanswer
 

ratibus a écrit :

Première partie en 38 minutes mais j'arrive pas à faire la seconde (j'y ai passé 1h, j'arrête les frais)
La récursivité ça a toujours été ma bête noire :(


C'est pourtant simple ! Pour comprendre la récursivité, il faut d'abord comprendre la récursivité


---------------
J'ai un string dans l'array (Paris Hilton)
n°2370512
el muchach​o
Comfortably Numb
Posté le 07-12-2020 à 10:22:03  profilanswer
 

ratibus a écrit :


Bon finalement la lecture de la page wikipedia sur la récursivité m'a éclairé :D
5 minutes plus tard j'avais la solution  :bounce:

 

Donc :
partie 1 : 38 minutes
partie 2 : 1h09

 

Ca me saoule j'avais plié la lecture du graphe (dans les 2 sens) en quelques minutes :D


[:bien]

 

Mais je ne comprends pas comme tu as fait la lecture du graphe sans récursivité.

Message cité 3 fois
Message édité par el muchacho le 07-12-2020 à 10:23:25

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370513
ratibus
Posté le 07-12-2020 à 10:22:26  profilanswer
 

Sans les traces de debug ça donne ça : https://github.com/ratibus/adventof [...] 020/day_07
 
Sur Github ça évitera les spoilers ici :)

Message cité 1 fois
Message édité par ratibus le 07-12-2020 à 10:56:05
n°2370515
el muchach​o
Comfortably Numb
Posté le 07-12-2020 à 10:35:35  profilanswer
 

masklinn a écrit :


Dans le cas où len(parents) != 0 tu renvoies rien, donc sauf si t’as immédiatement pas de parents t’as jamais de résultat.  
 
Accessoirement, len(parents) != 0 => parents.


ah mais oui... le boulet
 
Sinon pas compris ta 2e remarque


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370516
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 07-12-2020 à 10:47:07  profilanswer
 

el muchacho a écrit :


[:bien]
 
Mais je ne comprends pas comme tu as fait la lecture du graphe sans récursivité.


 
Ben techniquement tu peux toujours écrire une version non récursive d'un algo récursif :D


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2370517
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2020 à 10:51:41  profilanswer
 

el muchacho a écrit :


[:bien]
 
Mais je ne comprends pas comme tu as fait la lecture du graphe sans récursivité.


Avec une pile explicite?

el muchacho a écrit :


ah mais oui... le boulet
 
Sinon pas compris ta 2e remarque


En python les collections sont falsy quand elles sont vides, donc généralement tu testes juste si la collection, tu t’emmerdes pas à tester si a collection est d’une longueur différente de 0.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2370518
ratibus
Posté le 07-12-2020 à 10:56:49  profilanswer
 

el muchacho a écrit :


[:bien]
 
Mais je ne comprends pas comme tu as fait la lecture du graphe sans récursivité.


Je l'ai bien faite en récursif.

n°2370519
nraynaud
lol
Posté le 07-12-2020 à 11:05:06  profilanswer
 

Code :
  1. map = Object.fromEntries(document.getElementsByTagName('pre')[0].textContent.split('.\n').filter(l=>l.length).map(r=>r.split(' bags contain ')))
  2. for (k in map){map[k] = map[k].split(', ')}
  3. for (k in map){map[k] = map[k].map(r=>{a = r.split(' '); return {count: parseInt(a[0]), color: a[1] + ' '+a[2]}})}
  4. reversed = {}
  5. newEntry = (p,v)=> {if (p) {p.push(v); return p} else return [v]}
  6. for (k in map){map[k].forEach(rule=>reversed[rule.color] = newEntry(reversed[rule.color], k))}
  7. res = []
  8. function collect(list, collector){list.forEach(e=>{collector.push(e); const p =reversed[e]; if (p) collect(p, collector)})}
  9. collect(reversed['shiny gold'], res)
  10. res


pour l'instant j'ai tout fait dans le debugger, mais c'est parfois un peu pénible.


---------------
trainoo.com, c'est fini
n°2370521
___alt
Posté le 07-12-2020 à 11:23:03  profilanswer
 

J'ai fait la partie 1 avec un fold, surpris d'avoir eu bon du premier coup, d'habitude je me foire toujours quelque part dans la logique. Bon j'ai pas l'habitude de kotlin j'en ai chié avec la syntaxe.
 
Et comme d'hab, le parsing c'était le plus chiant de la partie 1.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2370522
ratibus
Posté le 07-12-2020 à 11:26:35  profilanswer
 

___alt a écrit :

J'ai fait la partie 1 avec un fold, surpris d'avoir eu bon du premier coup, d'habitude je me foire toujours quelque part dans la logique. Bon j'ai pas l'habitude de kotlin j'en ai chié avec la syntaxe.
 
Et comme d'hab, le parsing c'était le plus chiant de la partie 1. :(


De mon côté c'est rarement le parsing qui me pose souci, c'est la suite :D

n°2370523
___alt
Posté le 07-12-2020 à 11:28:40  profilanswer
 

ratibus a écrit :


De mon côté c'est rarement le parsing qui me pose souci, c'est la suite :D


 
Je me suis fait niquer sur le fait que "bags" était parfois au singulier, c'était magique.
Heureusement que j'avais des TU :o


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2370524
el muchach​o
Comfortably Numb
Posté le 07-12-2020 à 11:40:37  profilanswer
 

masklinn a écrit :


En python les collections sont falsy quand elles sont vides, donc généralement tu testes juste si la collection, tu t’emmerdes pas à tester si a collection est d’une longueur différente de 0.


ah ok, c'est un truc que j'avais oublié


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370525
Flaie
Posté le 07-12-2020 à 11:42:46  profilanswer
 

___alt a écrit :

J'ai fait la partie 1 avec un fold, surpris d'avoir eu bon du premier coup, d'habitude je me foire toujours quelque part dans la logique. Bon j'ai pas l'habitude de kotlin j'en ai chié avec la syntaxe.
 
Et comme d'hab, le parsing c'était le plus chiant de la partie 1.


C'est surtout le `withDefault` des Map Kotlin qui m'a brulé la tronche, vu que ça marche pas avec les accesseurs [] alors qu'IntelliJ te propose gentillement en refactoring d'utiliser ça car c'est plus court et plus clair :o

n°2370526
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2020 à 12:01:59  profilanswer
 

Flaie a écrit :


C'est surtout le `withDefault` des Map Kotlin qui m'a brulé la tronche, vu que ça marche pas avec les accesseurs [] alors qu'IntelliJ te propose gentillement en refactoring d'utiliser ça car c'est plus court et plus clair :o


Genre quoi tu crées la map avec withDefault et c’est pas pris en compte par [] où bien quand tu accèdes à un élément avec withDefault ca remplit pas le slot?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2370527
Flaie
Posté le 07-12-2020 à 12:13:44  profilanswer
 

masklinn a écrit :


Genre quoi tu crées la map avec withDefault et c’est pas pris en compte par [] où bien quand tu accèdes à un élément avec withDefault ca remplit pas le slot?


Je voulais un comportement similaire à un defaultdict en Python.
 
Imaginons une Map de String vers Set<String> :  

Code :
  1. val m = mutableMapOf<String, Set<String>>().withDefaults { mutableSetOf() }
  2. m["foo"] // null
  3. m.getValue("foo" ) // Set()


 
Cette année l'AOC c'est pour moi un bon moyen de deep dive un peu plus dans Kotlin que je ne connais pas suffisament, et du coup j'ai été pas mal surpris que ça ne fonctionne pas.  
C'est expliqué ici: https://youtrack.jetbrains.com/issu [...] 1605262314 ça casserait le contrat de Map qui renvoie null si une clé n'est pas présente.
 
D'ailleurs le fait que les MutableMap ont des .put() et pas les Map c'est aussi un peu débile, je vois pas pourquoi Map n'a pas un .put() qui renvoie une nouvelle Map, ils ont juste surchargé l'opérateur +, mais quand tu sais pas tu cherches pour rien :D
Résultat j'ai gardé mes mutablesMapOf épicétou

Message cité 1 fois
Message édité par Flaie le 07-12-2020 à 12:37:25
n°2370528
___alt
Posté le 07-12-2020 à 12:18:01  profilanswer
 

Pour construire la map en Kotlin j'ai utilisé une fonction de parsing qui prend une ligne de l'input et renvoie une Pair<Bag, Set<Content>>. Quand je map ça sur les lignes de l'input, j'ai un Iterable<Pair<T, U>> qui a une fonction toMap() qui me construit la map d'un coup.

 

La fonction de parsing :

Code :
  1. fun parse(rule: String): Pair<Bag, Set<Content>> {
  2.     val pattern = Regex("(\\d+) (\\D+) bags?" )
  3.     val root = rule.split(" bags contain " )
  4.     val bag = Bag(root[0])
  5.     val rules = pattern.findAll(root[1]).map { Content(it.groupValues[1].toInt(), Bag(it.groupValues[2])) }.toSet()
  6.     return Pair(bag, rules)
  7. }
 

(y'avait probablement moyen de faire plus concis, mais j'essaye d'encapsuler un peu mes données)


Message édité par ___alt le 07-12-2020 à 12:18:51

---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2370529
Flaie
Posté le 07-12-2020 à 13:02:45  profilanswer
 

Cette beauté
 

Code :
  1. #include/* do you */ <stdio.h>
  2. #include/*  feel  */<stdlib.h>
  3. #include/* lucky? */<string.h>
  4. //  AOC 2020 !! DAY NUMBER  //
  5. int*w,p,q,n,m,x[777][7],y[777]
  6. [7],z[777][77];char*k,c[777][7
  7. ][77],d[777][7][7][77],b[777];
  8. int h(int v){if(*x[v]<0)return
  9. 0;                         int
  10. g=1                       ;for
  11. (*x                        [v]
  12. =-1;   b[v]--;)g+=h(      z[v]
  13. [b[v] ]);return g;}       int
  14. f(int v){int g=1,i=0      ;for
  15. (;x[v][i];++i)g+=x[      v][i]
  16. *f(y[v][i]);return      g;}int
  17. main(int g,char**      v){for(
  18. ;gets(b);++n)for      (sscanf(
  19. b,"%s%s%*s%*s"       "%n",c[n]
  20. [0],c[n][1],&p      ),m=0;b[p]
  21. ;++m,p+=1*q)       sscanf(b+p,
  22. "%0d%s%s%*s"      "%n",x[n]+m,
  23. *d[n][m],d[       n][m][1],&q)
  24. ;memset(b,+      0,777);for(p=
  25. 0;p<n;++p,       ++k){for(q=0;
  26. x[p][q];++      q){for(w=y[p]+
  27. q,*w=0*77;      strcmp(c[*w][0
  28. ],d[p][q][      0])|strcmp(c[*
  29. w][1],d[p       ][q][1]);++*w)
  30. ;z[*w][b[       *w]++]=p;}}for
  31. (p=77-77;       strcmp("shiny"
  32. ,c[p][0]        )|strcmp(c[p][
  33. 1],"gold"        );++p);printf
  34. ("%d\n",(--g?f(p):h(p))-7+6);}

n°2370530
___alt
Posté le 07-12-2020 à 13:05:22  profilanswer
 

[:petoulachi:5]


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2370532
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2020 à 13:33:41  profilanswer
 

Flaie a écrit :


Je voulais un comportement similaire à un defaultdict en Python.
 
Imaginons une Map de String vers Set<String> :  

Code :
  1. val m = mutableMapOf<String, Set<String>>().withDefaults { mutableSetOf() }
  2. m["foo"] // null
  3. m.getValue("foo" ) // Set()


 
Cette année l'AOC c'est pour moi un bon moyen de deep dive un peu plus dans Kotlin que je ne connais pas suffisament, et du coup j'ai été pas mal surpris que ça ne fonctionne pas.  
C'est expliqué ici: https://youtrack.jetbrains.com/issu [...] 1605262314 ça casserait le contrat de Map qui renvoie null si une clé n'est pas présente.
 


‘Tin c’est stupide.  
 

Flaie a écrit :


 
D'ailleurs le fait que les MutableMap ont des .put() et pas les Map c'est aussi un peu débile, je vois pas pourquoi Map n'a pas un .put() qui renvoie une nouvelle Map, ils ont juste surchargé l'opérateur +, mais quand tu sais pas tu cherches pour rien :D
Résultat j'ai gardé mes mutablesMapOf épicétou


Ça c’est plus compréhensible, si tu pars du principe qu’une MutableMap est une Map tu peux pas te permette un changement pareil, ça fait que les collections sont pas substituables.  
 
Et c’est également important selon les détails de Map, genre si  ta map immutable est une hashmap standard tu veux pas encourager l’ajout clé par clé, c’est super inefficace de copier toute la map à chaque fois.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  23678  23679  23680  ..  27003  27004  27005  27006  27007  27008

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)