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

 

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

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  24422  24423  24424  ..  27169  27170  27171  27172  27173  27174
Auteur Sujet :

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

n°2402650
beel1
Posté le 05-12-2021 à 22:31:52  profilanswer
 

Reprise du message précédent :

hephaestos a écrit :

Non mais genre vous êtes marrant avec vos grilles éparses, vous avez peur de mettre votre ordinateur en rade avec quelques millions d'octets ? :o


Milliers steuplaît [:aloy]
1024*1024*2bits ça fait 256kio :o
Du coup ça tourne sur GBA :o
https://twitter.com/lunasorcery/sta [...] 5071483914

mood
Publicité
Posté le 05-12-2021 à 22:31:52  profilanswer
 

n°2402651
Jubijub
Parce que je le VD bien
Posté le 05-12-2021 à 23:32:55  profilanswer
 

Flaie a écrit :

On vient de regarder le premier épisode de Wheel of Time sur Amazon Prime.
 
Quelle purge.


 
Ah merde, on pensait embrayer là dessus après la casa de papel et superstore


---------------
Jubi Photos : Flickr - 500px
n°2402652
Kenshineuh
Posté le 05-12-2021 à 23:34:11  profilanswer
 

Du coup comme j'avais dit plus haut, j'ai aussi fait une grille de 1000x100 et voilà :  
 

Spoiler :


https://img.super-h.fr/images/011785f9e3b8a38e7c7356dabf11f316.md.png


Message édité par Kenshineuh le 05-12-2021 à 23:34:31
n°2402653
nucl3arfl0
Better Call Saul
Posté le 05-12-2021 à 23:38:41  profilanswer
 

Je suis un peu à la bourre, je ne suis qu'au bingo et je fais ça en python pour le lolz (alors que j'en ai jamais fait).

 

Je fais pas du tout pour le temps, mais plutôt monter en compétence dessus dans un cadre ludique (sinon je vais galérer à me motiver).

 

Bon déjà, pas mal d'opérateurs déjà dispo je pars pas de rien.

n°2402654
___alt
Posté le 05-12-2021 à 23:55:54  profilanswer
 

Flaie a écrit :

On vient de regarder le premier épisode de Wheel of Time sur Amazon Prime.
 
Quelle purge.


 
Ah j'ai bien aimé moi.
Mais j'ai bien aimé les bouquins, donc ça joue pas mal.
Le gros travers du début c'est que c'est vu et revu dans le genre, à la limite ils ont quand même le bon goût d'avoir largement coupé.
 

gfive a écrit :

Oui je suis allé lire la doc de record a ce sujet :o
 
Et du coup j'ai viré aussi l'enum et un des filtres en tenant compte du fait qu'il n'y a que des lignes horizontales, verticales et diagonales dans le jeu de données.
 
Et utilisé un peu plus les streams.. ça donne ça  
D05.java


 
C'est frais [:bien]


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2402655
nraynaud
lol
Posté le 06-12-2021 à 03:09:08  profilanswer
 

Je suis en train de me noyer.
on verra un autre jour, mais en gros la première partie se fait avec 2 priority queues (une par axe)
 
y'a une priority queue qui représentent les évènements qui vont bloquer le beam en Y (en général c'est le début d'une ligne, la fun d'une ligne ou une intersection)
 
et le beam est une priority queue en X, on y stocke les lignes qu'on intercepte de gauche à droite.  
 
après y'a de la compta, quand le beam saute d'une position à une autre, il pouvait être en train de trainer 2 lignes verticales superposées, donc il faut compter la taille du saut, pour les lignes horizontales c'est pareil on rentre les bouts des lignes dans la priority queue du beam, et on le parcourt de gauche à droite en comptant les superpositions (++ à chaque fois qu'on voit un début de ligne et -- à chaque fois qu'on voit une fin de ligne).
 
j'en suis là et ça marche pas: https://gist.github.com/nraynaud/5f [...] 5bbf710ab8


---------------
trainoo.com, c'est fini
n°2402656
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-12-2021 à 05:59:50  profilanswer
 

beel1 a écrit :


Milliers steuplaît [:aloy]
1024*1024*2bits ça fait 256kio :o
Du coup ça tourne sur GBA :o
https://twitter.com/lunasorcery/sta [...] 5071483914


Excellent :D

n°2402657
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-12-2021 à 06:18:53  profilanswer
 

Mais allez là 3 minutes !!!  [:cheesecake]

 

(ma solution en C++ : https://pastebin.com/0K87kUQx ... Temps d'exécution: 26μs)

 

/edit et la version opti: https://pastebin.com/Bki8fh9b

Message cité 4 fois
Message édité par hephaestos le 06-12-2021 à 07:04:16
n°2402658
Jubijub
Parce que je le VD bien
Posté le 06-12-2021 à 06:59:14  profilanswer
 

hephaestos a écrit :

Mais allez là 3 minutes !!!  [:cheesecake]
 
(ma solution en C++ : https://pastebin.com/0K87kUQx ... Temps d'exécution: 26μs)


C’est beaucoup utilisé Abseil hors de chez nous ?


---------------
Jubi Photos : Flickr - 500px
n°2402659
Flaie
Posté le 06-12-2021 à 07:09:29  profilanswer
 

hephaestos a écrit :

Mais allez là 3 minutes !!!  [:cheesecake]

 

(ma solution en C++ : https://pastebin.com/0K87kUQx ... Temps d'exécution: 26μs)

 

/edit et la version opti: https://pastebin.com/Bki8fh9b


Bravo :D
Sexy la solution opti

 
Spoiler :


J'ai mis plutôt 10 minutes, of by one errors tout ça :o
+ passer en Long car ça EXPLOSE :o

 

https://rehost.diberie.com/Picture/Get/f/55096

 

Je viens de voir cette solution: https://www.reddit.com/r/adventofco [...] s/hnfd2w5/

 

En fait je suis vraiment con comme une bite [:flaie:5]
Ta solution opti encore mieux, je suis pas ready pour Google faut croire!

Message cité 2 fois
Message édité par Flaie le 06-12-2021 à 07:10:55
mood
Publicité
Posté le 06-12-2021 à 07:09:29  profilanswer
 

n°2402660
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-12-2021 à 07:18:57  profilanswer
 

Jubijub a écrit :


C’est beaucoup utilisé Abseil hors de chez nous ?


Non je pense pas trop.
- absl::time est bien, mais pas beaucoup mieux que std::chrono;
- absl::status c'est pour ceux qui n'utilisent pas les exceptions.
- absl::string_view a été standardisé (pas assez proche pour qu'on puisse l'utiliser en interne).
- absl::containers c'est du sucre syntaxique. D'ailleurs je devrais voir si je peux pas utiliser simplement std::ranges à la place. C'est aussi des implémentations de hashmaps très bonnes mais assez niche, celles de la lib standard sont en général suffisantes.

n°2402661
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-12-2021 à 07:20:28  profilanswer
 

Flaie a écrit :


Bravo :D
Sexy la solution opti

 

[spoiler]
J'ai mis plutôt 10 minutes, of by one errors tout ça :o


On s'est mal compris : j'ai mis 3 minutes de plus que toi [:j-kay]

n°2402662
R3g
fonctionnaire certifié ITIL
Posté le 06-12-2021 à 07:33:51  profilanswer
 

troiz : https://pastebin.com/9zzBjz9s
 
Ils étaient en panne d'inspiration pour la part 2 aujourd'hui
 
edit : je suis à peu près sûr qu'on peut calculer le résultat statiquement sans faire de boucle, mais il est trop tôt là

Message cité 1 fois
Message édité par R3g le 06-12-2021 à 07:34:42

---------------
Au royaume des sourds, les borgnes sont sourds.
n°2402663
masklinn
í dag viðrar vel til loftárása
Posté le 06-12-2021 à 07:34:43  profilanswer
 

hephaestos a écrit :

Mais allez là 3 minutes !!!  [:cheesecake]
 
(ma solution en C++ : https://pastebin.com/0K87kUQx ... Temps d'exécution: 26μs)
 
/edit et la version opti: https://pastebin.com/Bki8fh9b


Avec une deque le double modulo gagne encore par rapport ah pop/push? (Bon tu me diras avec 256 itérations ça fait pas lourd)
 
Limite tu pourrais avoir un array de 265 sur la pile et marcher à travers avec un pointeur d’insertion et un de retrait non?


Message édité par masklinn le 06-12-2021 à 07:38:23

---------------
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°2402665
rokhlan
Posté le 06-12-2021 à 07:48:38  profilanswer
 

Flaie a écrit :

On vient de regarder le premier épisode de Wheel of Time sur Amazon Prime.
 
Quelle purge.


Ma femme me disait qu’elle avait adoré les romans du coup on l’avait mis sur notre liste des séries à regarder :(

n°2402666
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-12-2021 à 07:49:13  profilanswer
 

masklinn a écrit :


Avec une deque le double modulo gagne encore par rapport ah pop/push? (Bon tu me diras avec 256 itérations ça fait pas lourd)

 

Limite tu pourrais avoir un array de 265 sur la pile et marcher à travers avec un pointeur d’insertion et un de retrait non?


Non effectivement en temps c'est pareil sur les entrées proposées. Mais c'est opti en complexité/mémoire.

 

Je suis parti pour le faire avec une grande array, mais quand j'ai réalisé comme c'était simple à implémenter un deque de taille constante j'ai fait ça, c'est quand même plus classe.

Message cité 1 fois
Message édité par hephaestos le 06-12-2021 à 07:49:42
n°2402667
R3g
fonctionnaire certifié ITIL
Posté le 06-12-2021 à 07:54:45  profilanswer
 

Flaie a écrit :


Bravo :D  
Sexy la solution opti
 

Spoiler :


J'ai mis plutôt 10 minutes, of by one errors tout ça :o
+ passer en Long car ça EXPLOSE :o
 
https://rehost.diberie.com/Picture/Get/f/55096
 
Je viens de voir cette solution: https://www.reddit.com/r/adventofco [...] s/hnfd2w5/
 
En fait je suis vraiment con comme une bite [:flaie:5]  
Ta solution opti encore mieux, je suis pas ready pour Google faut croire!



Ah ben voila, je savais bien que je pouvais faire pop/push en une seule instruction


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2402668
masklinn
í dag viðrar vel til loftárása
Posté le 06-12-2021 à 08:08:07  profilanswer
 

hephaestos a écrit :


Je suis parti pour le faire avec une grande array, mais quand j'ai réalisé comme c'était simple à implémenter un deque de taille constante j'ai fait ça, c'est quand même plus classe.


Idk j’aime bien l’idée de faire une pseudo-deque en marchant linéairement dans la stack perso.


---------------
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°2402669
masklinn
í dag viðrar vel til loftárása
Posté le 06-12-2021 à 08:09:03  profilanswer
 

R3g a écrit :


Ah ben voila, je savais bien que je pouvais faire pop/push en une seule instruction


Notes que techniquement ça pop-push rien du tout, ça crée une nouvelle liste à partir de deux sections, donc t’as beaucoup de traffic.


---------------
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°2402670
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-12-2021 à 08:19:56  profilanswer
 

masklinn a écrit :


Idk j’aime bien l’idée de faire une pseudo-deque en marchant linéairement dans la stack perso.

 

Le temps est significativement le même avec les trois solutions (la plus lente étant les modulos effectivement, 30 μs contre 25...), mais je pense que c'est pas des supers données d'entrée pour faire un benchmark.

 
Spoiler :


vector<long long> d(T + 9, 0);

 

for (auto i: in) {
    d[i]++;
}

 

for (auto t = 0; t < T; ++t) {
    d[t + 7] += d[t];
    d[t + 9] += d[t];
}

 

cout << std::accumulate(d.begin() + T, d.end(), 0ll) << endl;


   

Message cité 1 fois
Message édité par hephaestos le 06-12-2021 à 08:24:13
n°2402671
masklinn
í dag viðrar vel til loftárása
Posté le 06-12-2021 à 08:22:33  profilanswer
 

hephaestos a écrit :


 
Le temps est le même sur mes données, mais je pense que c'est trop rapide pour être significatif.
 

Spoiler :


vector<long long> d(T + 9, 0);
 
for (auto i: in) {
    d[i]++;
}
 
for (auto t = 0; t < T; ++t) {
    d[t + 7] += d[t];
    d[t + 9] += d[t];
}
 
cout << std::accumulate(d.begin() + T, d.end(), 0ll) << endl;


   


Je parlais d’un array sur la pile pas d’un vecteur :o


---------------
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°2402672
Ydalb
In Crêpes n' Cidre I Trust!
Posté le 06-12-2021 à 08:24:51  profilanswer
 

La partie 2 qui me fait bien comprendre que ma partie 1 n'est pas opti [:tinostar]

 
Spoiler :

Avec les valeurs d'exemple :whistle:
$ time php 2021/day6/solve.php
Total lanternfishes: 204394337
php 2021/day6/solve.php  86,18s user 9,59s system 97% cpu 1:37,90 total

 

Message cité 3 fois
Message édité par Ydalb le 06-12-2021 à 08:26:58

---------------
:o
n°2402673
R3g
fonctionnaire certifié ITIL
Posté le 06-12-2021 à 08:32:06  profilanswer
 

Ydalb a écrit :

La partie 2 qui me fait bien comprendre que ma partie 1 n'est pas opti [:tinostar]
 

Spoiler :

Avec les valeurs d'exemple :whistle:
$ time php 2021/day6/solve.php
Total lanternfishes: 204394337
php 2021/day6/solve.php  86,18s user 9,59s system 97% cpu 1:37,90 total


 


ah oui clairement ; j'ai les deux solutions en 0,4ms


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2402674
el muchach​o
Comfortably Numb
Posté le 06-12-2021 à 08:37:08  profilanswer
 

Dans le cul Nvidia.
La FTC attaque Nvidia sur le rachat d'ARM, estimant qu'un tel rachat mettrait l'innovation dans le domaine des semiconducteurs en danger. C'est assez remarquable que la FTC s'y oppose, sachant qu'ARM est une société étrangère qui serait revenue dans le giron américain.


Message édité par el muchacho le 06-12-2021 à 08:38:21
n°2402675
flo850
moi je
Posté le 06-12-2021 à 08:42:02  profilanswer
 

première solution en 3mn
seconde : faut que je branche mon cerveau, l'implementation naive ne passe pas en js :o


Message édité par flo850 le 06-12-2021 à 08:44:40

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

n°2402676
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-12-2021 à 08:48:37  profilanswer
 

masklinn a écrit :


Je parlais d’un array sur la pile pas d’un vecteur :o


Même temps. En terme de perf on est d'accord que c'est pareil, à un malloc() près ?

Message cité 1 fois
Message édité par hephaestos le 06-12-2021 à 08:50:32
n°2402677
pataluc
Posté le 06-12-2021 à 08:53:42  profilanswer
 

R3g a écrit :

troiz : https://pastebin.com/9zzBjz9s
 
Ils étaient en panne d'inspiration pour la part 2 aujourd'hui


panne d'inspi ou juste pour piéger les ceusses qui comme moi avait fait un code en partie1 qui scale pas sur 256 jours??  :D  [:tinostar]  
 
 
fini aussi:

Spoiler :

https://i.imgur.com/PBb8iZS.png


 

R3g a écrit :


edit : je suis à peu près sûr qu'on peut calculer le résultat statiquement sans faire de boucle, mais il est trop tôt là


idem...

n°2402678
gfive
Posté le 06-12-2021 à 09:00:26  profilanswer
 

La partie 1 j'étais en mode naïf aussi :o  
 
Au final ça donne ça ;
 

Spoiler :


public class D06 extends AoC {
 
    @Override
    public void run() {
        FishPopulation testPopulation = readPopulation(getTestInputPath());
        testPopulation.shift(80);
        System.out.println("Test result part 1 : "+testPopulation.total());
 
        FishPopulation population = readPopulation(getInputPath());
        population.shift(80);
        System.out.println("Real result part 1 : "+population.total());
 
        testPopulation.shift(256 - 80);
        System.out.println("Test result part 2 : "+testPopulation.total());
        population.shift(256 - 80);
        System.out.println("Real result part 2 : "+population.total());
    }
 
    FishPopulation readPopulation(Path input) {
        return new FishPopulation(Arrays.stream(readFile(input).split("," )).map(Integer::parseInt).collect(Collectors.toList()));
    }
 
    static class FishPopulation {
        long[] ages;
        public FishPopulation(List<Integer> fishes) {
            ages = new long[9];
            Arrays.fill(ages, 0);
            for (int age : fishes) {
                ages[age]++;
            }
        }
        void shift(int days) {
            for (int d = 0; d < days; d++) {
                long nb0 = ages[0];
                System.arraycopy(ages, 1, ages, 0, 8);
                ages[6] += nb0;
                ages[8] = nb0;
            }
        }
 
        long total() {
            return LongStream.of(ages).sum();
        }
    }
 
}


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2402679
Flaie
Posté le 06-12-2021 à 09:03:36  profilanswer
 

C'est assez chouette p5js, je m'amuse autant à faire une visualisation qu'à résoudre le problème :D
 
Bon faudrait que je bosse quand même aussi, mais les tickets JIRA sont moins fun :(

n°2402680
masklinn
í dag viðrar vel til loftárása
Posté le 06-12-2021 à 09:05:28  profilanswer
 

hephaestos a écrit :


Même temps. En terme de perf on est d'accord que c'est pareil, à un malloc() près ?


Mais un malloc c’est beaucoup, surtout avec les allocateurs système [:sadnoir]  


---------------
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°2402681
Hermes le ​Messager
Breton Quiétiste
Posté le 06-12-2021 à 09:21:10  profilanswer
 

Bon, comme je vous l'ai dit, je ne suis pas inscrit, mais je fais la partie 1 des exercices pour me perfectionner en Python ;)
 
J'ai joué un peu avec l'object model, je pense que cet exercice est assez marrant. :D
 

Spoiler :


# List contains all our lanternfishes
Lanternfishes = list()
 
class lanternfish:
    """  
    We define autonomous lanternfishes as a class  
    Per default, new lanternfishes have 9 days minus 1 days (when their mom is pregnant :D )
    """
    def __init__(self, days: int = 9):
        self.days = days
 
    """
    When a day passes, we decrease the number of days
    When the number of days is 0, it reproduces itself and gets 6 new remaining days
    Its Child gets 9 days (but only 8 days will be available for the child)
    """
    def day_passes(self):
        if self.days == 0:
            self.days = 6
            self.reproduce()
        else:
            self.days -= 1
 
    """Reproduction of the Lanternfish, mom lanternfish is pregnant"""
    def reproduce(self):
        Lanternfishes.append(lanternfish())
 
 
class God:
    """
    Gods can create Lanternfishes from scratch
    """
    def creation(self, lanternfishes: list):
        for age in lanternfishes:
            Lanternfishes.append(lanternfish(days = age))
 
    """
    They can make also days
    """
    def days(self, days: int):
 
        print(f'Initial state: {[lanternfish.days for lanternfish in Lanternfishes]}')
 
        for d in range(days):
            for fish in Lanternfishes:
                fish.day_passes()
             
            print(f'After {d} day(s): {[lanternfish.days for lanternfish in Lanternfishes]}')
 
    """
    They can count their creatures  
    """
    def count_lanternfishes(self):
        return len(Lanternfishes)
 
 
initial_lanternfishes = [3, 4, 3, 1, 2]
 
# Creating Poseidon god from the class God
Poseidon = God()
 
# We ask Poseidon to create our initial Lanternfishes
Poseidon.creation(initial_lanternfishes)
 
# We ask Poseidon to make 18 days
Poseidon.days(18)
 
# We ask Poseidon to count the Lanternfishes he created and reproduced by themselves
print(Poseidon.count_lanternfishes())


---------------
Expert en expertises
n°2402682
Ydalb
In Crêpes n' Cidre I Trust!
Posté le 06-12-2021 à 09:31:14  profilanswer
 

Ydalb a écrit :

La partie 2 qui me fait bien comprendre que ma partie 1 n'est pas opti [:tinostar]
 

Spoiler :

Avec les valeurs d'exemple :whistle:
$ time php 2021/day6/solve.php
Total lanternfishes: 204394337
php 2021/day6/solve.php  86,18s user 9,59s system 97% cpu 1:37,90 total


 


 
Bon, j'ai un peu pimpé le truc :o :D
 

Code :
  1. time php 2021/day6/solve-opti.php
  2. Total lanternfishes: 1617359101538
  3. php 2021/day6/solve-wip.php  0,02s user 0,02s system 92% cpu 0,033 total


---------------
:o
n°2402683
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-12-2021 à 09:31:55  profilanswer
 

Hermes le Messager a écrit :

Bon, comme je vous l'ai dit, je ne suis pas inscrit, mais je fais la partie 1 des exercices pour me perfectionner en Python ;)

 

J'ai joué un peu avec l'object model, je pense que cet exercice est assez marrant. :D

 
Spoiler :


# Creating Poseidon god from the class God
Poseidon = God()

 

# We ask Poseidon to create our initial Lanternfishes
Poseidon.creation(initial_lanternfishes)

 

# We ask Poseidon to make 18 days
Poseidon.days(18)

 

# We ask Poseidon to count the Lanternfishes he created and reproduced by themselves
print(Poseidon.count_lanternfishes())


 

J'espère que Poséidon il sait bien compter... La partie deux c'est de faire ça pendant 256 jours  ;)


Message édité par hephaestos le 06-12-2021 à 09:32:29
n°2402684
R3g
fonctionnaire certifié ITIL
Posté le 06-12-2021 à 09:32:20  profilanswer
 

Hermes le Messager a écrit :

Bon, comme je vous l'ai dit, je ne suis pas inscrit, mais je fais la partie 1 des exercices pour me perfectionner en Python ;)
 
J'ai joué un peu avec l'object model, je pense que cet exercice est assez marrant. :D
 

Spoiler :


# List contains all our lanternfishes
Lanternfishes = list()
 
class lanternfish:
    """  
    We define autonomous lanternfishes as a class  
    Per default, new lanternfishes have 9 days minus 1 days (when their mom is pregnant :D )
    """
    def __init__(self, days: int = 9):
        self.days = days
 
    """
    When a day passes, we decrease the number of days
    When the number of days is 0, it reproduces itself and gets 6 new remaining days
    Its Child gets 9 days (but only 8 days will be available for the child)
    """
    def day_passes(self):
        if self.days == 0:
            self.days = 6
            self.reproduce()
        else:
            self.days -= 1
 
    """Reproduction of the Lanternfish, mom lanternfish is pregnant"""
    def reproduce(self):
        Lanternfishes.append(lanternfish())
 
 
class God:
    """
    Gods can create Lanternfishes from scratch
    """
    def creation(self, lanternfishes: list):
        for age in lanternfishes:
            Lanternfishes.append(lanternfish(days = age))
 
    """
    They can make also days
    """
    def days(self, days: int):
 
        print(f'Initial state: {[lanternfish.days for lanternfish in Lanternfishes]}')
 
        for d in range(days):
            for fish in Lanternfishes:
                fish.day_passes()
             
            print(f'After {d} day(s): {[lanternfish.days for lanternfish in Lanternfishes]}')
 
    """
    They can count their creatures  
    """
    def count_lanternfishes(self):
        return len(Lanternfishes)
 
 
initial_lanternfishes = [3, 4, 3, 1, 2]
 
# Creating Poseidon god from the class God
Poseidon = God()
 
# We ask Poseidon to create our initial Lanternfishes
Poseidon.creation(initial_lanternfishes)
 
# We ask Poseidon to make 18 days
Poseidon.days(18)
 
# We ask Poseidon to count the Lanternfishes he created and reproduced by themselves
print(Poseidon.count_lanternfishes())



Ça typiquement c'est le genre de solution qui passerait pas la partie 2.


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2402685
Hermes le ​Messager
Breton Quiétiste
Posté le 06-12-2021 à 09:37:24  profilanswer
 

R3g a écrit :


Ça typiquement c'est le genre de solution qui passerait pas la partie 2.


 
Ma première solution (avant de jouer avec l'OM), c'était ça ;)
 

Spoiler :


def reproduction(lanternfishes: list, days: int):
 
    for day in range(days):
 
        babies = 0
 
        for l in range(len(lanternfishes)):
            if lanternfishes[l] == 0:
                babies += 1
                lanternfishes[l] = 6
            else:
                lanternfishes[l] -= 1
 
        for b in range(babies):
            lanternfishes.append(8)
 
    return len(lanternfishes)
 
 
initial_lanternfishes = [3, 4, 3, 1, 2]
print(f'Number of lanternfishes: {reproduction(initial_lanternfishes, 18)}')


 
Mais c'est bcp moins drôle. :o
 
Edit : avec 256 jours, c'est "naif" effectivement comme solution. [:ddr555]

Message cité 1 fois
Message édité par Hermes le Messager le 06-12-2021 à 09:42:19

---------------
Expert en expertises
n°2402686
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 06-12-2021 à 09:39:17  profilanswer
 

Hermes le Messager a écrit :

 

Ma première solution (avant de jouer avec l'OM), c'était ça ;)

 
Spoiler :


def reproduction(lanternfishes: list, days: int):

 

   for day in range(days):

 

       babies = 0

 

       for l in range(len(lanternfishes)):
            if lanternfishes[l] == 0:
                babies += 1
                lanternfishes[l] = 6
            else:
                lanternfishes[l] -= 1

 

       for b in range(babies):
            lanternfishes.append(8)

 

   return len(lanternfishes)

 


initial_lanternfishes = [3, 4, 3, 1, 2]
print(f'Number of lanternfishes: {reproduction(initial_lanternfishes, 18)}')

 

Mais c'est bcp moins drôle. :o

 

C'est toujours pas bon avec days = 256. Ou alors faut un gros PC.

 

C'est le premier jour où il suffit pas de faire ce que dit l'énoncé pour répondre à la question.

Message cité 3 fois
Message édité par hephaestos le 06-12-2021 à 09:40:25
n°2402687
Kenshineuh
Posté le 06-12-2021 à 09:41:33  profilanswer
 

# Fatal JavaScript invalid size error
Je verrais plus tard pour la part2. :o


Message édité par Kenshineuh le 06-12-2021 à 09:41:43
n°2402688
Hermes le ​Messager
Breton Quiétiste
Posté le 06-12-2021 à 09:43:02  profilanswer
 

hephaestos a écrit :


 
C'est toujours pas bon avec days = 256. Ou alors faut un gros PC.
 
C'est le premier jour où il suffit pas de faire ce que dit l'énoncé pour répondre à la question.


 
Je me rends compte maintenant. ;)


---------------
Expert en expertises
n°2402689
skeye
Posté le 06-12-2021 à 09:44:11  profilanswer
 

hephaestos a écrit :


 
C'est toujours pas bon avec days = 256. Ou alors faut un gros PC.
 
C'est le premier jour où il suffit pas de faire ce que dit l'énoncé pour répondre à la question.


c'est pas non plus super compliqué cela dit :D


---------------
Can't buy what I want because it's free -
n°2402690
Dion
Acceuil
Posté le 06-12-2021 à 09:46:04  profilanswer
 

hephaestos a écrit :


 
C'est toujours pas bon avec days = 256. Ou alors faut un gros PC.
 
C'est le premier jour où il suffit pas de faire ce que dit l'énoncé pour répondre à la question.


Hepha sur AoC cette année :
https://reho.st/https://ci.memecdn.com/2549300.jpg


---------------
It is not called show art
n°2402691
skeye
Posté le 06-12-2021 à 09:46:06  profilanswer
 

Ydalb a écrit :

La partie 2 qui me fait bien comprendre que ma partie 1 n'est pas opti [:tinostar]
 

Spoiler :

Avec les valeurs d'exemple :whistle:
$ time php 2021/day6/solve.php
Total lanternfishes: 204394337
php 2021/day6/solve.php  86,18s user 9,59s system 97% cpu 1:37,90 total


 


 
effectivement. :o

Citation :


$ time php day6.php input.txt 256
NB Fishes : 1574445493136
 
real    0m0.128s
user    0m0.029s
sys     0m0.010s


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  24422  24423  24424  ..  27169  27170  27171  27172  27173  27174

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)