Avec un lib de gestion des polygone, j'ai fini par trouver pour la partie 2.
Mais un peu l'impression de tricher et de sortir le bazooka.
Le code pour la partie 1:
importsysI=sys.stdin.read().splitlines()G=[list(l)forlinI]W=len(G[0])H=len(G)# look for SS=Noneforyinrange(H):if(x:=I[y].find("S"))>-1:S=(x,y)breakD={'u':{'|':(0,-1,'u'),'F':(1,0,'r'),'7':(-1,0,'l'),},'r':{'-':(1,0,'r'),'J':(0,-1,'u'),'7':(0,1,'d'),},'d':{'|':(0,1,'d'),'L':(1,0,'r'),'J':(-1,0,'l'),},'l':{'-':(-1,0,'l'),'L':(0,-1,'u'),'F':(0,1,'d'),},}N=1x0,y0=SP=(x0+1,y0,'r')# start at S and go rightfor_inrange(100_000):x,y,d=PN+=1z=G[y][x]ifz=='S':breakdx,dy,nd=D[d].get(z)P=(x+dx,y+dy,nd)print(N//2)
J'ai bien brûlé du CPU avant de comprendre qu'il fallait pas tout faire tourner en même temps mais juste calculer le nombre d'étapes de chaque fantôme puis de prendre leur PPCM.
Après une partie 1 torchée en cinq minutes, j'ai eu la flemme d'écrire les algo d'intersection. J'avais laissé de côté.
Puis j'ai quand même tenté en brute force (vraiment crassouille d'itérer sur une range de plusieurs millions). Mais en compilant le programme, réponse en 7 minutes.
J'aurai fait ça à l'ouverture du challenge, j'aurai tapé le top 100 :D
importsys(t,r)=(int(sys.argv[1]),int(sys.argv[2]))print(# i : time of charging, between 0 and t# v = i # speed in m/s# d = v * (t-i) # distance = speed * remaining timesum(i*(t-i)>rforiinrange(t)))
je pensais que ça allait coincer pour la partie 2, car ça sentait le gros chiffre pour exploser le cpu ou la mémoire.
mais il n'est est rien.
donc son mobile poll une URL et si elle a un truc à envoyer c'est le mobile qui l'envoie.
roo, malin
faut rester sous le radar de l'opérateur parce que t'es pas sensé utiliser ton forfait pour un usage pro mais j'imagine que la barre de détection est haute.
Time sync Yes¹
¹ - Time synchronization is performed using one of the USB configuration tools. The expected time drift is between 1 and 30 seconds per year (depending on ambient temperature), and a periodic sync of the system clock may be required (i.e., every 1 or 2 years, depending on the drift tolerance of the authentication system).
_
Oui, le constructeur m'a sorti la même excuse,
Tu veux dire qu'ils ont ajouté cette note après ton achat et ta réclamation ?
Dans tous les cas, merci pour ton journal qui rappelle qu'il faut se méfier de ce qu'on peut acheter.
C'est le cas de toute horloge (non connectée au réseau).
J'ai une Pebble que j'adore mais je ne m'en sers pas en mode connecté car je ne veux pas être enquiquiné par les notifications.
Je dois néanmoins la connecter régulièrement pour qu'elle se recale. Je note un décalage après quelques semaines. En arrière qui plus est, ce qui est pénible car risque de mettre en retard. D'ailleurs Wikipedia mentionne un décalage d'environ 1s/jour.
Or le TOTP tourne toutes les 30 secondes et les systèmes ont généralement une tolérance de quelques codes (quelque ~= 1). C'est pour ça que tu constate que seulement certains se dérèglent, c'est simplement qu'ils n'ont pas la même tolérance vis-à-vis des codes trop en retard ou trop en avance. Donc un appareil TOTP doit être remis à l'heure environ tous les 30 jours.
Je vois l'idée.
Pour ma part j'ai arrêté de faire du support ouinouin pour mes proches.
Je trouve bien plus rentable pour eux et moi de les basculer sur linuxmint.
On a vraiment l'économie la plus fragile de l'histoire pour avoir aussi peur de la contrôler ?
Tout à fait. Surtout que quand les entreprises ont été dans la mouise pendant la pandémie, elles n'ont pas refusée la manne publique au nom du quoi qu'il en coûte.
Par contre, le code Elm n'est pas compatible Node.js,
Exact. Je crois que cela fonctionnait sur les version avant la 0.19 mais je ne faisais pas de Elm à l'époque. Et il était alors possible de faire du backend en Elm. Pour simplifier encore plus le langage et son usage, le BDFL a décidé de supprimer cette possibilité. Et c'est ce manque que veut tenter de combler Roc.
On peut douter de la capacité d'elm a tuer js, mais ce qu'il apporte me parait indéniable.
Tout à fait d'accord. JS a un énorme écosystème et énormément de pratiquants, il ne sera pas remplacé de sitôt. Et ELM ne sait pas tout faire. Mais pour tout ce que ELM sait faire : réagir à des événements pour transformer un modèle et en faire un rendu DOM, c'est du bonheur. Et la communauté est top.
J'ai hâte d'expérimenter ce qu'est capable de faire Roc.
J'ai exactement le même usage : un profile FF aux petits ognons affiné depuis deux décennies, si ça passe pas un profile FF plus tolérant mais que je nettoie après ; si ça passe pas, j'enrage et le lance un chromium que je nettoie après.
À part cet usage, lié au lobbying/marketing de google, je ne vois d'ailleurs pas l'intérêt de Chrome(-ium).
On peut en tout cas facilement être convaincu du contraire : les patates étant un aliment économiquement accessible, on peut émettre l'hypothèse que 99% des pauvres mangent plus que 99% des patates produites ne laissant ainsi au 1% les plus riches moins de 1% des patates. Heureusement qu'ils peuvent se rattraper sur le caviar.
Cela dit, je ne vois pas le rapport avec la choucroute si ce n'est qu'il y a aussi des patates.
We use third-party services to send a registration code via SMS or voice call in order to verify that the person in possession of a given phone number actually intended to sign up for a Signal account.
[…]
We use third-party services to send a registration code via SMS or voice call in order to verify that the person in possession of a given phone number actually intended to sign up for a Signal account.
Remplacent le SMS/Phonecall par TOTP et ils économisent $6M.
[^] # Re: j'ai adoré
Posté par steph1978 . En réponse au message Advent of Code 2023 : Jour 10. Évalué à 2. Dernière modification le 10 décembre 2023 à 15:17.
Avec un lib de gestion des polygone, j'ai fini par trouver pour la partie 2.
Mais un peu l'impression de tricher et de sortir le bazooka.
Le code pour la partie 1:
Sinon, c'est joli
# j'ai adoré
Posté par steph1978 . En réponse au message Advent of Code 2023 : Jour 10. Évalué à 2.
Le labyrinthe de tuyaux change des labyrinthe classique.
Cela m'a pris un peu (trop) de temps d'encoder les déplacements. Mais au final, ça se fait.
Par contre la partie 2, je ne vois pas du tout comment procéder.
[^] # Re: Résolution péripatéticienne...
Posté par steph1978 . En réponse au message Advent of Code 2023 : Day 9. Évalué à 2.
Chapeau pour avoir fait le challenge depuis le phone. Moi qui passe par le PC pour un message de plus de trois lignes, j'aurai souffer.
# recursion
Posté par steph1978 . En réponse au message Advent of Code 2023 : Day 9. Évalué à 3.
Pour ma part, le jour le plus facile depuis le début
[^] # Re: Découpage d'intervalles en Python
Posté par steph1978 . En réponse au message Advent of Code 2023 : Day 5. Évalué à 2.
Je crois que tu réponds à ta propre question. Au lieu de tourner pendant 10 minutes, cela aurait tourné pendant une poignée de secondes.
# sans PPCM, t'est cuit
Posté par steph1978 . En réponse au message Advent of Code 2023, day 8. Évalué à 1.
J'ai bien brûlé du CPU avant de comprendre qu'il fallait pas tout faire tourner en même temps mais juste calculer le nombre d'étapes de chaque fantôme puis de prendre leur PPCM.
En 20 lignes de python:
[^] # Re: Découpage d'intervalles en Python
Posté par steph1978 . En réponse au message Advent of Code 2023 : Day 5. Évalué à 2. Dernière modification le 08 décembre 2023 à 16:09.
Je te confirme.
Après une partie 1 torchée en cinq minutes, j'ai eu la flemme d'écrire les algo d'intersection. J'avais laissé de côté.
Puis j'ai quand même tenté en brute force (vraiment crassouille d'itérer sur une range de plusieurs millions). Mais en compilant le programme, réponse en 7 minutes.
J'aurai fait ça à l'ouverture du challenge, j'aurai tapé le top 100 :D
# en mode brute, et c'est passé
Posté par steph1978 . En réponse au message Advent of Code 2023, day 6. Évalué à 2. Dernière modification le 08 décembre 2023 à 16:02.
j'ai énuméré toutes les unités de temps.
je pensais que ça allait coincer pour la partie 2, car ça sentait le gros chiffre pour exploser le cpu ou la mémoire.
mais il n'est est rien.
[^] # Re: excusez ma naïveté
Posté par steph1978 . En réponse au journal Périphérique d'authentification TOTP. Évalué à 4.
donc son mobile poll une URL et si elle a un truc à envoyer c'est le mobile qui l'envoie.
roo, malin
faut rester sous le radar de l'opérateur parce que t'es pas sensé utiliser ton forfait pour un usage pro mais j'imagine que la barre de détection est haute.
[^] # Re: excusez ma naïveté
Posté par steph1978 . En réponse au journal Périphérique d'authentification TOTP. Évalué à 4.
parce qu'il faut donner son numéro de téléphone et moi, je veux pas.
pour éviter de se faire voler son compte.
[^] # Re: horloge interne se dérègle
Posté par steph1978 . En réponse au journal Périphérique d'authentification TOTP. Évalué à 4.
_
Tu veux dire qu'ils ont ajouté cette note après ton achat et ta réclamation ?
Dans tous les cas, merci pour ton journal qui rappelle qu'il faut se méfier de ce qu'on peut acheter.
[^] # Re: Le bon token et le mauvais token
Posté par steph1978 . En réponse au journal Périphérique d'authentification TOTP. Évalué à 3.
Idem, c'est juste bien caché. On en parlait ici.
# horloge interne se dérègle
Posté par steph1978 . En réponse au journal Périphérique d'authentification TOTP. Évalué à 7. Dernière modification le 03 décembre 2023 à 14:28.
C'est le cas de toute horloge (non connectée au réseau).
J'ai une Pebble que j'adore mais je ne m'en sers pas en mode connecté car je ne veux pas être enquiquiné par les notifications.
Je dois néanmoins la connecter régulièrement pour qu'elle se recale. Je note un décalage après quelques semaines. En arrière qui plus est, ce qui est pénible car risque de mettre en retard. D'ailleurs Wikipedia mentionne un décalage d'environ 1s/jour.
Or le TOTP tourne toutes les 30 secondes et les systèmes ont généralement une tolérance de quelques codes (quelque ~= 1). C'est pour ça que tu constate que seulement certains se dérèglent, c'est simplement qu'ils n'ont pas la même tolérance vis-à-vis des codes trop en retard ou trop en avance. Donc un appareil TOTP doit être remis à l'heure environ tous les 30 jours.
[^] # Re: Elm
Posté par steph1978 . En réponse au lien Un langage de plus : Roc. Évalué à 2.
C'est là que le typage intervient
Prend la fonction map par exemple.
Pas évident de savoir ce que son arg1 et arg2.
Si je te donne le type de cette fonction
Tu comprends que map prend une fonction qui transforme un a en b, l'applique à une liste de a pour faire une liste de b.
Et ton IDE (moi j'utilise helix avec elm-language-server) va t'aider en te mettant un tooltip avec le type.
[^] # Re: debian
Posté par steph1978 . En réponse au lien No Bing, no Edge, no upselling: De-crufted Windows 11 coming to Europe soon. Évalué à 2.
Je vois l'idée.
Pour ma part j'ai arrêté de faire du support ouinouin pour mes proches.
Je trouve bien plus rentable pour eux et moi de les basculer sur linuxmint.
[^] # Re: Toujours comparer avec les patates
Posté par steph1978 . En réponse au lien Les 1 % les plus riches émettent autant de gaz à effet de serre que les 66 % les plus pauvres. Évalué à 2.
Tout à fait. Surtout que quand les entreprises ont été dans la mouise pendant la pandémie, elles n'ont pas refusée la manne publique au nom du quoi qu'il en coûte.
# moi aussi j'ai rien compris
Posté par steph1978 . En réponse au lien Free n'a rien compris : son agence de publicité appelle au vandalisme de Wikipédia. Évalué à 2.
Reef c'est Free ? ou c'est de blagueurs qui n'ont rien à voir avec Iliad ?
# debian
Posté par steph1978 . En réponse au lien No Bing, no Edge, no upselling: De-crufted Windows 11 coming to Europe soon. Évalué à 10.
Moi aussi j'ai "decrufted" mon windows, au point d'enlever l'OS et de mettre une Debian.
Entièrement satisfait !
[^] # Re: Elm
Posté par steph1978 . En réponse au lien Un langage de plus : Roc. Évalué à 2.
Pour compléter la réponse de Andréas,
Si je prends le hello world de Elm
Le compilateur génère - après optimisation - un fichier JS de 17ko qui embarque le runtime et le code applicatif transformé en JS.
Et cela s'intègre dans une page HTML comme ceci :
[^] # Re: Elm
Posté par steph1978 . En réponse au lien Un langage de plus : Roc. Évalué à 3.
Exact. Je crois que cela fonctionnait sur les version avant la 0.19 mais je ne faisais pas de Elm à l'époque. Et il était alors possible de faire du backend en Elm. Pour simplifier encore plus le langage et son usage, le BDFL a décidé de supprimer cette possibilité. Et c'est ce manque que veut tenter de combler Roc.
[^] # Re: Elm
Posté par steph1978 . En réponse au lien Un langage de plus : Roc. Évalué à 6.
Tout à fait d'accord. JS a un énorme écosystème et énormément de pratiquants, il ne sera pas remplacé de sitôt. Et ELM ne sait pas tout faire. Mais pour tout ce que ELM sait faire : réagir à des événements pour transformer un modèle et en faire un rendu DOM, c'est du bonheur. Et la communauté est top.
J'ai hâte d'expérimenter ce qu'est capable de faire Roc.
[^] # Re: Utile pour certains services, mais loin d'être au niveau de Firefox
Posté par steph1978 . En réponse au lien Google Chromium – Le diable est dans les détails et ce projet les élimine (Korben). Évalué à 3.
J'ai exactement le même usage : un profile FF aux petits ognons affiné depuis deux décennies, si ça passe pas un profile FF plus tolérant mais que je nettoie après ; si ça passe pas, j'enrage et le lance un chromium que je nettoie après.
À part cet usage, lié au lobbying/marketing de google, je ne vois d'ailleurs pas l'intérêt de Chrome(-ium).
[^] # Re: Toujours comparer avec les patates
Posté par steph1978 . En réponse au lien Les 1 % les plus riches émettent autant de gaz à effet de serre que les 66 % les plus pauvres. Évalué à 6.
On peut en tout cas facilement être convaincu du contraire : les patates étant un aliment économiquement accessible, on peut émettre l'hypothèse que 99% des pauvres mangent plus que 99% des patates produites ne laissant ainsi au 1% les plus riches moins de 1% des patates. Heureusement qu'ils peuvent se rattraper sur le caviar.
Cela dit, je ne vois pas le rapport avec la choucroute si ce n'est qu'il y a aussi des patates.
[^] # Re: complément
Posté par steph1978 . En réponse au lien Privacy is Priceless, but Signal is Expensive. Évalué à -1. Dernière modification le 17 novembre 2023 à 10:24.
Et quel est l'intérêt de vouloir absolument récupérer le numéro de téléphone de l'utilisateur ?
Je croyais d'ailleurs que Signal avait travaillé à permettre de créer un compte sans numéro de téléphone.
Sinon, en quoi est-ce bien différent d'un service propriétaire style Telegram ?
[^] # Re: complément
Posté par steph1978 . En réponse au lien Privacy is Priceless, but Signal is Expensive. Évalué à 1. Dernière modification le 17 novembre 2023 à 08:43.
Remplacent le SMS/Phonecall par TOTP et ils économisent $6M.
À votre service.