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

 

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

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  23680  23681  23682  ..  27004  27005  27006  27007  27008  27009
Auteur Sujet :

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

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

Reprise du message précédent :

Flaie a écrit :

Et en même temps y'a vraiment rien d'avancé dans cette regex


Non, faut juste y penser, et se dire qu'on peut le faire en 2 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 07-12-2020 à 21:12:00  profilanswer
 

n°2370579
Flaie
Posté le 07-12-2020 à 21:24:08  profilanswer
 

el muchacho a écrit :

Ayé je viens de terminer la partie 2 du problème 7. :o
L'important c'est de participer.[:dawa_neowen]

 

Sinon hier sur ma lancée j'ai fait le 2e problème de l'AoC 2019, c'était sympa. :o


C'était vraiment sympa l'IntCode l'an dernier, ça se corce assez vite aussi, c'était le fil rouge de 2019. J'avais fait les 3-4 premiers IntCode en Clojure

Message cité 1 fois
Message édité par Flaie le 07-12-2020 à 21:24:20
n°2370580
el muchach​o
Comfortably Numb
Posté le 07-12-2020 à 21:52:04  profilanswer
 

masklinn a écrit :


C'est plus être bon en (et avoir le réflexe) regex ça, il y a pas masses de python dedans.


oui, certes, mais il a utilisé les bonnes fonctions au bon moment. Je soupçonnais qu'il existait la fonction findall, mais j'ai pas trop cherché.

Flaie a écrit :


Et en même temps y'a vraiment rien d'avancé dans cette regex


Oui aussi.
Reste que comme je ne savais plus me servir des fonctions de la lib re, j'ai perdu du temps à essayer de lui faire faire ce que je voulais (la capture de la quantité et de la couleur dans le même regex), et puis voyant que l'horloge tournait, j'ai laissé tomber et me suis farci le parse à la main, ce qui n'était pas très compliqué en soi, mais est super moche.


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

Flaie a écrit :


C'était vraiment sympa l'IntCode l'an dernier, ça se corce assez vite aussi, c'était le fil rouge de 2019. J'avais fait les 3-4 premiers IntCode en Clojure


ouai, j'ai vu, on construit un assembleur en fait. Je compte bien continuer dessus.

 

T'as un github quelque part ?


Message édité par el muchacho le 07-12-2020 à 21:55:02

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

masklinn a écrit :


Non, faut juste y penser, et se dire qu'on peut le faire en 2 fois.


Tu peux même faire le matching de tout le fichier en 1 regex :)
https://regex101.com/r/a4D3MF/2 (en PHP : https://3v4l.org/gvFX8)

n°2370583
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2020 à 22:56:51  profilanswer
 

ratibus a écrit :


Tu peux même faire le matching de tout le fichier en 1 regex :)
https://regex101.com/r/a4D3MF/2 (en PHP : https://3v4l.org/gvFX8)


Pour le cas ici présent, matcher sans extraire c’est pas très utile, et je présume que Perl sait faire ce genre d’extractions mais j’ai pas souvenir que python en soit capable. AFAIK en python quand tu répètes un groupe tu ne récupères que sa dernière application / itération.

Message cité 1 fois
Message édité par masklinn le 07-12-2020 à 22:58:30

---------------
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°2370584
ratibus
Posté le 07-12-2020 à 23:08:46  profilanswer
 

masklinn a écrit :


Pour le cas ici présent, matcher sans extraire c’est pas très utile, et je présume que Perl sait faire ce genre d’extractions mais j’ai pas souvenir que python en soit capable. AFAIK en python quand tu répètes un groupe tu ne récupères que sa dernière application / itération.


J'arrive à extraire en PHP et tu me dis que c'est pas possible en Python ? Tu bluffes :o
 

Code :
  1. >>> import re
  2. >>> p = re.compile(r'((\w+ \w+) bags contain)?(,? (\d+) (\w+ \w+) bags?)+?')
  3. >>> p.findall("""light orange bags contain 1 dark maroon bag, 3 dim maroon bags, 5 striped green bags, 2 pale aqua bags.
  4. ... wavy bronze bags contain 3 pale black bags, 5 bright turquoise bags, 4 pale orange bags.
  5. ... dark coral bags contain 3 bright lavender bags, 1 pale bronze bag, 2 dull blue bags.
  6. ... dim chartreuse bags contain 2 wavy plum bags, 4 wavy teal bags, 1 dark crimson bag.""" )
  7. [('light orange bags contain', 'light orange', ' 1 dark maroon bag', '1', 'dark maroon'), ('', '', ', 3 dim maroon bags', '3', 'dim maroon'), ('', '', ', 5 striped green bags', '5', 'striped green'), ('', '', ', 2 pale aqua bags', '2', 'pale aqua'), ('wavy bronze bags contain', 'wavy bronze', ' 3 pale black bags', '3', 'pale black'), ('', '', ', 5 bright turquoise bags', '5', 'bright turquoise'), ('', '', ', 4 pale orange bags', '4', 'pale orange'), ('dark coral bags contain', 'dark coral', ' 3 bright lavender bags', '3', 'bright lavender'), ('', '', ', 1 pale bronze bag', '1', 'pale bronze'), ('', '', ', 2 dull blue bags', '2', 'dull blue'), ('dim chartreuse bags contain', 'dim chartreuse', ' 2 wavy plum bags', '2', 'wavy plum'), ('', '', ', 4 wavy teal bags', '4', 'wavy teal'), ('', '', ', 1 dark crimson bag', '1', 'dark crimson')]


 
C'est ça que t'appelles l'extraction ou bien c'est autre chose ?

Message cité 1 fois
Message édité par ratibus le 07-12-2020 à 23:16:53
n°2370585
masklinn
í dag viðrar vel til loftárása
Posté le 07-12-2020 à 23:24:14  profilanswer
 

ratibus a écrit :


J'arrive à extraire en PHP et tu me dis que c'est pas possible en Python ? Tu bluffes :o
 

Code :
  1. >>> import re
  2. >>> p = re.compile(r'((\w+ \w+) bags contain)?(,? (\d+) (\w+ \w+) bags?)+?')
  3. >>> p.findall("""light orange bags contain 1 dark maroon bag, 3 dim maroon bags, 5 striped green bags, 2 pale aqua bags.
  4. ... wavy bronze bags contain 3 pale black bags, 5 bright turquoise bags, 4 pale orange bags.
  5. ... dark coral bags contain 3 bright lavender bags, 1 pale bronze bag, 2 dull blue bags.
  6. ... dim chartreuse bags contain 2 wavy plum bags, 4 wavy teal bags, 1 dark crimson bag.""" )
  7. [('light orange bags contain', 'light orange', ' 1 dark maroon bag', '1', 'dark maroon'), ('', '', ', 3 dim maroon bags', '3', 'dim maroon'), ('', '', ', 5 striped green bags', '5', 'striped green'), ('', '', ', 2 pale aqua bags', '2', 'pale aqua'), ('wavy bronze bags contain', 'wavy bronze', ' 3 pale black bags', '3', 'pale black'), ('', '', ', 5 bright turquoise bags', '5', 'bright turquoise'), ('', '', ', 4 pale orange bags', '4', 'pale orange'), ('dark coral bags contain', 'dark coral', ' 3 bright lavender bags', '3', 'bright lavender'), ('', '', ', 1 pale bronze bag', '1', 'pale bronze'), ('', '', ', 2 dull blue bags', '2', 'dull blue'), ('dim chartreuse bags contain', 'dim chartreuse', ' 2 wavy plum bags', '2', 'wavy plum'), ('', '', ', 4 wavy teal bags', '4', 'wavy teal'), ('', '', ', 1 dark crimson bag', '1', 'dark crimson')]


 
C'est ça que t'appelles l'extraction ou bien c'est autre chose ?


Aah non je suis sur mon tel’ donc j’avais raté d’avoir rendu un groupe optionnel au début pour pouvoir faire un findall, j’avais eu l’impression d’un groupe de tête suivi d’un groupe répété, qui marcherait tout le bordel en un seul match.
 
Edit: mais donc quel est l’intérêt de la répétition sur le second groupe?

Message cité 1 fois
Message édité par masklinn le 07-12-2020 à 23:26:18

---------------
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°2370586
ratibus
Posté le 07-12-2020 à 23:26:01  profilanswer
 

masklinn a écrit :


Aah non je suis sur mon tel’ donc j’avais raté d’avoir rendu un groupe optionnel au début pour pouvoir faire un findall, j’avais eu l’impression d’un groupe de tête suivi d’un groupe répété, qui marcherait tout le bordel en un seul match.


Oui j'avais tenté ça aussi au début mais j'ai pas réussi.


---------------
Mon blog
n°2370587
Jubijub
Parce que je le VD bien
Posté le 07-12-2020 à 23:29:19  profilanswer
 

Il avait des grosses nuts Ayerton Senna quand meme
https://www.youtube.com/watch?v=sbTrNKBAfI8


---------------
Jubi Photos : Flickr - 500px
mood
Publicité
Posté le 07-12-2020 à 23:29:19  profilanswer
 

n°2370588
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-12-2020 à 23:30:47  profilanswer
 

el muchacho a écrit :


Si ça peut te rassurer, dans 3-4j ça sera infaisable et à part Flaie on reviendra aux conversations habituelles. :o


Quelle plaie ce flaie ! Je rêve d'un challenge qui ne classera plus flaie haut !


---------------
J'ai un string dans l'array (Paris Hilton)
n°2370589
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-12-2020 à 00:11:17  profilanswer
 

Citation :


Malheureusement, un problème est survenu pendant l’expédition et nous avons dû annuler votre livraison. Le colis est retourné. Nous vous rembourserons dans les 5 à 7 jours ouvrables suivant le traitement du retour. Nous sommes désolés pour la gêne occasionnée.  


 
Première fois que j'ai un pépin avec Amazon. J'aimerais bien connaitre le souci, c'était le Kindle de ma fille pour Noel [:pingouino]


---------------
J'ai un string dans l'array (Paris Hilton)
n°2370591
Flaie
Posté le 08-12-2020 à 06:18:25  profilanswer
 

Harkonnen a écrit :


Quelle plaie ce flaie ! Je rêve d'un challenge qui ne classera plus flaie haut !


 :na:

 

day 8, done :o
D'ailleurs el muchacho, celui d'aujourd'hui devrait te plaire :)

Message cité 1 fois
Message édité par Flaie le 08-12-2020 à 06:23:25
n°2370592
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 08-12-2020 à 06:40:27  profilanswer
 

Flaie a écrit :


 :na:  
 
day 8, done :o
D'ailleurs el muchacho, celui d'aujourd'hui devrait te plaire :)


Rha, done aussi, 38 minutes...

n°2370593
el muchach​o
Comfortably Numb
Posté le 08-12-2020 à 07:00:51  profilanswer
 
n°2370596
ratibus
Posté le 08-12-2020 à 09:06:41  profilanswer
 

Done aussi en 21 minutes (12 + 9) : https://github.com/ratibus/adventof [...] 020/day_08


---------------
Mon blog
n°2370597
Flaie
Posté le 08-12-2020 à 09:18:51  profilanswer
 

Bravo, au final pas mal de dev y participent aussi :D
 
12:24 pour les deux, Kotlin avec extensions qui vont bien:
 

Spoiler :


https://rehost.diberie.com/Uploads/37/20201208-090909-34eb4654-e8ac-4fe8-9226-dbc69c962ba9.37.res.jpg

n°2370598
ratibus
Posté le 08-12-2020 à 09:28:55  profilanswer
 

Flaie a écrit :

Bravo, au final pas mal de dev y participent aussi :D
 
12:24 pour les deux, Kotlin avec extensions qui vont bien:
 



Joli :)
J'ai merdé la lecture sur la 2è partie en lisant qu'il fallait inverser jmp et acc... J'ai perdu 5 minutes en debug :D
En tout cas c'était nettement plus facile que hier.
 
Tu as fait les années précédentes ? Ca dégénère à partir de quel jour ?  [:the geddons]

n°2370599
Flaie
Posté le 08-12-2020 à 09:31:49  profilanswer
 

ratibus a écrit :


Joli :)
J'ai merdé la lecture sur la 2è partie en lisant qu'il fallait inverser jmp et acc... J'ai perdu 5 minutes en debug :D
En tout cas c'était nettement plus facile que hier.

 

Tu as fait les années précédentes ? Ca dégénère à partir de quel jour ?  [:the geddons]


C'est la 6ème année que je le fais, généralement à partir du jour 16/17 je trouve que ça deviens chaud et ça prends plus de temps.
Mais ça m'empêche pas de le prendre, le temps :D
Cela dit il y'a des années plus simples que d'autres, 2019 était plus difficile que 2018 AMA.


Message édité par Flaie le 08-12-2020 à 09:32:10
n°2370601
el muchach​o
Comfortably Numb
Posté le 08-12-2020 à 09:46:05  profilanswer
 


Joli, moi j'ai mis 50 mn, parce que j'essayais de reproduire le tableau de l'exemple, qui est mal foutu je trouve et les valeurs de l'acc représentent mal ce qui se passe. L'exemple m'a vachement confus.

 

Ah et puis ensuite, dans le 2e exercice, j'ai eu des soucis parce que je ne faisais pas un deepcopy() de la liste des instructions ce qui faisait que les swap('jmp', 'nop') s'accumulaient au lieu qu'une seule soit changée à chaque fois. J'avais lu hier quelque part que a=b[:] faisait un deepcopy de a mais c'était faux, c'est du shallow copy.
Encore un truc que j'aurais dû savoir.

 

ah, et si masklinn passait par là, je suis curieux de savoir comment faire proprement un swap('jmp', 'nop') plutôt que ceci:

Code :
  1. if instructions[index] == 'jmp':
  2.        instructions[index] = 'nop'
  3.    elif instructions[index] == 'nop':
  4.        instructions[index] = 'jmp'

Message cité 3 fois
Message édité par el muchacho le 08-12-2020 à 09:46:55

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370602
gatsu35
Blablaté par Harko
Posté le 08-12-2020 à 09:53:21  profilanswer
 

el muchacho a écrit :


Joli, moi j'ai mis 50 mn, parce que j'essayais de reproduire le tableau de l'exemple, qui est mal foutu je trouve et les valeurs de l'acc représentent mal ce qui se passe. L'exemple m'a vachement confus.
 
Ah et puis ensuite, dans le 2e exercice, j'ai eu des soucis parce que je ne faisais pas un deepcopy() de la liste des instructions ce qui faisait que les swap('jmp', 'nop') s'accumulaient au lieu qu'une seule soit changée à chaque fois. J'avais lu hier quelque part que a=b[:] faisait un deepcopy de a mais c'était faux, c'est du shallow copy.  
Encore un truc que j'aurais dû savoir.
 
ah, et si masklinn passait par là, je suis curieux de savoir comment faire proprement un swap('jmp', 'nop') plutôt que ceci:

Code :
  1. if instructions[index] == 'jmp':
  2.        instructions[index] = 'nop'
  3.    elif instructions[index] == 'nop':
  4.        instructions[index] = 'jmp'



un opérateur ternaire au pire ?

n°2370603
el muchach​o
Comfortably Numb
Posté le 08-12-2020 à 09:55:32  profilanswer
 


p'tain tu écris tout ça en 12 mn sans faire d'erreur ? Tu respires le PHP. :o
 
ici ma soluce


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370604
Flaie
Posté le 08-12-2020 à 09:58:26  profilanswer
 

el muchacho a écrit :


Joli, moi j'ai mis 50 mn, parce que j'essayais de reproduire le tableau de l'exemple, qui est mal foutu je trouve et les valeurs de l'acc représentent mal ce qui se passe. L'exemple m'a vachement confus.

 

Ah et puis ensuite, dans le 2e exercice, j'ai eu des soucis parce que je ne faisais pas un deepcopy() de la liste des instructions ce qui faisait que les swap('jmp', 'nop') s'accumulaient au lieu qu'une seule soit changée à chaque fois. J'avais lu hier quelque part que a=b[:] faisait un deepcopy de a mais c'était faux, c'est du shallow copy.
Encore un truc que j'aurais dû savoir.

 

ah, et si masklinn passait par là, je suis curieux de savoir comment faire proprement un swap('jmp', 'nop') plutôt que ceci:

Code :
  1. if instructions[index] == 'jmp':
  2.        instructions[index] = 'nop'
  3.    elif instructions[index] == 'nop':
  4.        instructions[index] = 'jmp'



Tu n'a pas besoin d'une deep copy si à chaque fois que tu itères sur le programme à modifier tu en refais une copie avec [:].
Pour ton truc, une solution courte si tu n'as que c'est deux là à swaper peut-être:

Code :
  1. instructions[index] = 'jmpnop'.replace(instructions[index], '')


mais faut checker d'abord :o

Message cité 1 fois
Message édité par Flaie le 08-12-2020 à 10:01:17
n°2370605
el muchach​o
Comfortably Numb
Posté le 08-12-2020 à 10:03:27  profilanswer
 

gatsu35 a écrit :


un opérateur ternaire au pire ?


c'est à dire ?

Flaie a écrit :


Tu n'a pas besoin d'une deep copy si à chaque fois que tu itères sur le programme à modifier tu en refais une copie avec [:].


j'ai une liste de listes à la suite de


for lines in open("puzzle8.txt","r" ).readlines():
    instructions.append([val.strip() for val in lines.split(' ')])

Message cité 1 fois
Message édité par el muchacho le 08-12-2020 à 10:04:23

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370606
nraynaud
lol
Posté le 08-12-2020 à 10:08:49  profilanswer
 

ohhh, un détecteur de cycles...
qui a utilisé le lièvre et la tortue ?


---------------
trainoo.com, c'est fini
n°2370607
Flaie
Posté le 08-12-2020 à 10:22:28  profilanswer
 

nraynaud a écrit :

ohhh, un détecteur de cycles...
qui a utilisé le lièvre et la tortue ?


Je les ai mis tous les deux dans un set :o

n°2370608
Jubijub
Parce que je le VD bien
Posté le 08-12-2020 à 10:22:30  profilanswer
 

el muchacho a écrit :


c'est à dire ?


 
 

Code :
  1. instructions[index] = 'nop' if instructions[index] == 'jmp' else instructions[index]
  2. instructions[index] = 'jmp' if instructions[index] == 'nop' else instructions[index]


 
c'est pas vraiment moins verbeux, et c'est moins clair à lire je trouve


---------------
Jubi Photos : Flickr - 500px
n°2370609
Jubijub
Parce que je le VD bien
Posté le 08-12-2020 à 10:23:17  profilanswer
 

nraynaud a écrit :

ohhh, un détecteur de cycles...
qui a utilisé le lièvre et la tortue ?


j'ai compris cette phrase et je vois à quel algo il fait allusion !


---------------
Jubi Photos : Flickr - 500px
n°2370610
gfive
Posté le 08-12-2020 à 10:36:37  profilanswer
 

[:tinostar] Je suis le seul à avoir cherché l'instruction à switcher autrement qu'en mode bourrin?  
 
En gros, j'ai exécuté le programme jusqu'à la boucle infinie, et je suis remonté dans les instructions switchables.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2370612
Anonymouse
Posté le 08-12-2020 à 10:48:48  profilanswer
 

Salut
 
Par simple curiosité vous savez si ça existe la migration de VMs a chaud entre providers de cloud différents ?
 
Merci

n°2370613
DDT
Few understand
Posté le 08-12-2020 à 10:53:44  profilanswer
 

Comment ça fonctionnerait? [:wam]


---------------
click clack clunka thunk
n°2370615
nraynaud
lol
Posté le 08-12-2020 à 10:58:15  profilanswer
 

en sérialisant la mémoire ?


---------------
trainoo.com, c'est fini
n°2370616
masklinn
í dag viðrar vel til loftárása
Posté le 08-12-2020 à 10:59:30  profilanswer
 

el muchacho a écrit :


Ah et puis ensuite, dans le 2e exercice, j'ai eu des soucis parce que je ne faisais pas un deepcopy() de la liste des instructions ce qui faisait que les swap('jmp', 'nop') s'accumulaient au lieu qu'une seule soit changée à chaque fois. J'avais lu hier quelque part que a=b[:] faisait un deepcopy de a mais c'était faux, c'est du shallow copy.  
Encore un truc que j'aurais dû savoir.


Puais non, python faut généralement que du shallow copy sauf requête explicite, comme la majorité des langages du style.  
 

el muchacho a écrit :


ah, et si masklinn passait par là, je suis curieux de savoir comment faire proprement un swap('jmp', 'nop') plutôt que ceci:

Code :
  1. if instructions[index] == 'jmp':
  2.        instructions[index] = 'nop'
  3.    elif instructions[index] == 'nop':
  4.        instructions[index] = 'jmp'



Pas vraiment. Il y a pour les chaînes (str.translate) mais pas pour les séquences. Après tu peux utiliser un dict avec deux entrées et faire un instructions[index] = swap.get(instructions[index], instructions[index]) mais bon…


---------------
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°2370617
Anonymouse
Posté le 08-12-2020 à 10:59:37  profilanswer
 

nraynaud a écrit :

en sérialisant la mémoire ?


 
Et transmettant le disque. Ça existe déjà au sein d'un DC.
 
https://docs.citrix.com/en-us/citri [...] grate.html

Message cité 2 fois
Message édité par Anonymouse le 08-12-2020 à 11:02:42
n°2370618
masklinn
í dag viðrar vel til loftárása
Posté le 08-12-2020 à 11:06:27  profilanswer
 

Anonymouse a écrit :


 
Et transmettant le disque. Ça existe déjà au sein d'un DC.
 
https://docs.citrix.com/en-us/citri [...] grate.html


Citation :

when the VMs disks are on storage shared by both hosts


C’est assez chaud de faire du stockage partagé de disques de VMs entre providers cloud différents, je présume.  


---------------
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°2370619
Anonymouse
Posté le 08-12-2020 à 11:09:08  profilanswer
 

masklinn a écrit :


Citation :

when the VMs disks are on storage shared by both hosts


C’est assez chaud de faire du stockage partagé de disques de VMs entre providers cloud différents, je présume.  


 

Citation :


Storage live migration
 
Storage live migration also allows VMs to be moved from one host to another, where the VMs are not on storage shared between the two hosts. As a result, VMs stored on local storage can be migrated without downtime and VMs can be moved from one pool to another. This feature enables system administrators to:


 
J'ai pas dit que c'était facile d'autant plus que je ne pense pas que les différents acteurs aient intérêts à le faire.  :D  
Je me demandais juste si cela avait déjà été fait  :whistle:
 
Dans le truc que je vois pour le moment qui risque d'être vraiment différent c'est la migration des connections réseau. Après pour avoir une meilleure idée du sujet il n'y a pas de secrets : il faut creuser  :jap:.

Message cité 2 fois
Message édité par Anonymouse le 08-12-2020 à 11:13:06
n°2370620
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 08-12-2020 à 11:16:23  profilanswer
 

gfive a écrit :

[:tinostar] Je suis le seul à avoir cherché l'instruction à switcher autrement qu'en mode bourrin?

 

En gros, j'ai exécuté le programme jusqu'à la boucle infinie, et je suis remonté dans les instructions switchables.

 

En terme de complexité on ne gagne pas vraiment si je comprends ton algo, vu qu'il faut quand même exécuter le programme pour chaque switch.

 

On peut le faire je pense en O(N), en n'exécutant le programme qu'une fois: on monte depuis le départ jusqu'à la boucle infinie et on mémorise acc montant pour chaque arrivée; Puis on fait pareil en partant de la fin (pour ça il faut avoir construit un graphe lors de la lecture des données d'entrée). Ensuite on boucle une dernière fois pour trouver un chemin qui, en swappant, permet d'aller du trajet montant au trajet descendant. J'ai perdu un peu de temps à essayer d'implémenter ça mais j'ai réalisé que la méthode bourrin marchait tout aussi bien...

Message cité 2 fois
Message édité par hephaestos le 08-12-2020 à 11:17:24
n°2370621
el muchach​o
Comfortably Numb
Posté le 08-12-2020 à 11:20:35  profilanswer
 

Jubijub a écrit :


Code :
  1. instructions[index] = 'nop' if instructions[index] == 'jmp' else instructions[index]
  2. instructions[index] = 'jmp' if instructions[index] == 'nop' else instructions[index]


c'est pas vraiment moins verbeux, et c'est moins clair à lire je trouve


oui voila


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2370622
gfive
Posté le 08-12-2020 à 11:37:26  profilanswer
 

hephaestos a écrit :


 
En terme de complexité on ne gagne pas vraiment si je comprends ton algo, vu qu'il faut quand même exécuter le programme pour chaque switch.
 
On peut le faire je pense en O(N), en n'exécutant le programme qu'une fois: on monte depuis le départ jusqu'à la boucle infinie et on mémorise acc montant pour chaque arrivée; Puis on fait pareil en partant de la fin (pour ça il faut avoir construit un graphe lors de la lecture des données d'entrée). Ensuite on boucle une dernière fois pour trouver un chemin qui, en swappant, permet d'aller du trajet montant au trajet descendant. J'ai perdu un peu de temps à essayer d'implémenter ça mais j'ai réalisé que la méthode bourrin marchait tout aussi bien...


 
Je passe de 201 runs en mode bourrin à 56, quand même.
 
Comme amélioration, il y aurait déjà de repartir de l'instruction que tu switches au lieu de repartir du début à chaque tour.
 


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2370623
___alt
Posté le 08-12-2020 à 11:53:39  profilanswer
 

Marrant la ligne finale que j'ai pour trouver l'exécution qui se termine :  
 

Code :
  1. patchable.map { patch(program, it) }.map { execute(it) }.find { it is Terminated }!!


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2370624
___alt
Posté le 08-12-2020 à 11:55:17  profilanswer
 

hephaestos a écrit :

En terme de complexité on ne gagne pas vraiment si je comprends ton algo, vu qu'il faut quand même exécuter le programme pour chaque switch.


 
Ça dépend de la taille de la boucle, donc tu gagnes pas forcément un ordre de grandeur, mais t'as potentiellement un gain significatif en termes de temps d'exécution.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  23680  23681  23682  ..  27004  27005  27006  27007  27008  27009

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)