Le Père Noël a besoin d'aide pour déterminer le nombre d'elfes dont il aura besoin pour l'aider à offrir des cadeaux à chaque maison.
Le charbon est considérablement plus lourd que les cadeaux, donc le père Noël aura besoin de trois elfes pour chaque vilain dans la maison. Seuls deux elfes sont nécessaires pour aider le père Noël à porter des cadeaux.
Sur la carte du père Noël, une maison est représentée par un *
, et chaque maison est divisée par un +
.
Il y aura un numéro de chaque côté de la maison - celui de gauche représentant le nombre de vilains dans la maison, et celui de droite représentant le nombre de gentilles personnes dans la maison. S'il n'y a pas de nombre d'un côté, il est interprété comme un 0.
Le Père Noël ne rend pas visite à ceux qui ne sont pas dans l'esprit de Noël (ils ne méritent même pas le charbon), donc parfois, une maison peut ne pas avoir de numéro de chaque côté. Dans ce cas, le père Noël n'a besoin de l'aide d'aucun elfe
Par exemple, l'une des cartes du père Noël peut ressembler à ceci
1*3+2*2+1*+*2
Dans la première maison il y a 1 coquine et 3 gentilles, le père Noël aura besoin de neuf elfes. Dans le second, il y a 2 coquines et 2 gentilles, le père Noël aura besoin de dix elfes. Dans la troisième maison il y a 1 vilain et 0 gentil, le père Noël aura besoin de trois elfes, et dans la dernière maison il y a 0 vilain et 2 gentil, le père Noël aura besoin de quatre elfes.
Il s'agit cependant d'une version trop simplifiée d'une des cartes du père Noël. Normalement, les cartes du père Noël ont plusieurs lignes et sont de forme carrée pour mieux correspondre à sa liste. Une carte normale pourrait ressembler à ceci (un \n
à la fin de chaque ligne)
1*2+*+*4+1*
2*4+3*+1*6+*
*+*+4*2+1*1
*4+*3+1*+2*3
3*10+2*+*5+*
Sur cette carte, le père a besoin ((1 + 0 + 0 + 1 + 2 + 3 + 1 + 0 + 0 + 0 + 4 + 1 + 0 + 0 + 1 + 2 + 3 + 2 + 0 + 0) * 3) + ((2 + 0 + 4 + 0 + 4 + 0 + 6 + 0 + 0 + 0 + 2 + 1 + 4 + 3 + 0 + 3 + 10 + 0 + 5 + 0) * 2)
= 151 elfes
Défi
Aidez le père Noël à déterminer le nombre d'elfes dont il a besoin pour livrer des marchandises dans chaque maison!
Maisons
- Une maison est représentée par un
*
- Les maisons sont divisées par
+
- Le nombre à gauche de la maison symbolise le nombre de vilains (aucun chiffre ne signifie 0)
- Le chiffre à droite symbolise le nombre de personnes sympas (aucun chiffre ne signifie 0)
- Il peut y avoir des sauts de ligne (
\n
) en entrée, qui doivent également être traités comme un fractionnement
Elfes
- Le père Noël a besoin de l'aide de trois elfes pour les vilains (le charbon est beaucoup plus lourd que les cadeaux)
- Le Père Noël a besoin de l'aide de deux elfes pour des gens sympas
- S'il n'y a pas de numéro de chaque côté, le père Noël ne visitera pas cette maison et n'a donc pas besoin d'elfes
Que faire
Imprimez le nombre d'elfes dont le père Noël a besoin pour l'aider à livrer des cadeaux aux maisons. Parce que tout ce que le Père Noël a besoin de savoir, c'est le nombre d'elfes à apporter, il vous suffit d'imprimer le nombre supplémentaire d'elfes dont il a besoin pour la liste des maisons.
Cas de test
1*1 => 5
1*2 => 7
2*1 => 8
1* => 3
*1 => 2
* => 0
1*1+1*1 => 10
1*2+2*1 => 15
1*+*1 => 5
1*1+*+1*1 => 10
*+*+*+* => 0
Règles
- L'entrée peut être soit prise comme argument dans une fonction, soit depuis STDIN ou équivalent
- La sortie peut être soit la valeur de retour d'une fonction, soit imprimée sur STDOUT ou équivalent
- L'entrée ne contient que des chiffres,
+
,*
, et retour à la ligne\n
- La sortie ne devrait être que le nombre total d'elfes dont le Père Noël a besoin d'aide pour livrer à Noël
- Des échappatoires standard s'appliquent
Notation
Le traîneau du Père Noël est plein de cadeaux lui donnant moins d'espace pour exécuter du code, donc il a besoin du code le plus court qu'il puisse obtenir (ne vous inquiétez pas si cela n'a pas de sens. Si vous remettez en question la logique du Père Noël, vous vous retrouverez sur la liste coquine ). En raison du raisonnement CORRECT du Père Noël , la soumission la plus courte en octets gagne!
Classement
Il s'agit d'un extrait de pile qui génère à la fois un classement et un aperçu des gagnants par langue.
Pour vous assurer que votre réponse s'affiche, veuillez commencer votre réponse avec un titre en utilisant le modèle Markdown suivant
## Language Name, N bytes
Où N est la taille, en octets, de votre soumission
Si vous souhaitez inclure plusieurs nombres dans votre en-tête (par exemple, en supprimant les anciens scores ou en incluant des indicateurs dans le nombre d'octets), assurez-vous simplement que le score réel est le dernier numéro de votre en-tête
## Language Name, <s>K</s> X + 2 = N bytes
hello-world.c
. Les elfes ouvriers sont alloués avec impatience aux cibles, comme l'a dit Jojodmo (je suis sûr que je connais Jojodmo, il doit être notre administrateur système), puis ils utilisent un rappel pour indiquer quand il est temps de réinsérer dans la piscine de traîneau ou quand un enfant les a vus.
max(naughty) + max(nice)
elfes pour tout le trajet? Je pensais qu'il avait un tas d'elfes volant avec lui, mais peut-être avez-vous des informations privilégiées à ce sujet et je dois regarder de plus près cette année. :)