Święty Mikołaj potrzebuje pomocy w określeniu, ilu elfów będzie potrzebował, aby pomóc mu dostarczyć prezenty do każdego domu.
Węgiel jest znacznie cięższy niż prezenty, więc Święty będzie potrzebował trzech elfów na każdą niegrzeczną osobę w domu. Potrzebne są tylko dwa elfy, aby pomóc Mikołajowi nosić prezenty.
Na mapie Świętego Mikołaja dom jest reprezentowany przez *, a każdy dom jest podzielony przez +.
Po obu stronach domu będzie liczba - ta po lewej reprezentująca liczbę niegrzecznych ludzi w domu, a ta po prawej reprezentująca liczbę miłych ludzi w domu. Jeśli po jednej stronie nie ma numeru, jest interpretowane jako 0.
Święty Mikołaj nie odwiedza tych, którzy nie są w świątecznym nastroju (nawet nie zasługują na węgiel), więc czasami dom może nie mieć numeru po obu stronach. W tym przypadku Święty Mikołaj nie potrzebuje pomocy od elfów
Na przykład jedna z map Świętego Mikołaja może wyglądać tak
1*3+2*2+1*+*2
W pierwszym domu jest 1 niegrzeczny i 3 miłych, Mikołaj będzie potrzebował dziewięciu elfów. W drugim są 2 niegrzeczne i 2 ładne, Mikołaj będzie potrzebował dziesięciu elfów. W trzecim domu jest 1 niegrzeczny i 0 fajnych, Święty będzie potrzebował trzech elfów, aw ostatnim domu jest 0 niegrzecznych i 2 fajnych, Święty będzie potrzebował czterech elfów.
Jest to jednak zbyt uproszczona wersja jednej z map Świętego Mikołaja. Zwykle mapy Świętego Mikołaja mają wiele linii i mają kwadratowy kształt, aby lepiej pasowały do jego listy. Normalna mapa może wyglądać \nmniej więcej tak (a na końcu każdej linii)
1*2+*+*4+1*
2*4+3*+1*6+*
*+*+4*2+1*1
*4+*3+1*+2*3
3*10+2*+*5+*
Na tej mapie Święty potrzebuje ((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 elfów
Wyzwanie
Pomóż Mikołajowi ustalić, ilu elfów musi dostarczyć towary do każdego domu!
Domy
- Dom jest reprezentowany przez
* - Domy są podzielone według
+ - Liczba po lewej stronie domu symbolizuje liczbę niegrzecznych ludzi (brak liczby oznacza 0)
- Liczba po prawej stronie symbolizuje liczbę miłych ludzi (brak liczby oznacza 0)
- Na
\nwejściu mogą znajdować się znaki nowej linii ( ), które również należy traktować jako podział
Elfy
- Święty Mikołaj potrzebuje pomocy trzech elfów dla niegrzecznych ludzi (węgiel jest znacznie cięższy niż prezenty)
- Święty Mikołaj potrzebuje pomocy od dwóch elfów dla miłych ludzi
- Jeśli po obu stronach nie będzie numeru, Mikołaj nie odwiedzi tego domu i dlatego nie potrzebuje żadnych elfów
Co robić
Wydrukuj liczbę elfów, których potrzebuje Święty Mikołaj, aby pomóc mu dostarczyć prezenty do domów. Ponieważ wszystko, co Mikołaj musi wiedzieć, to ile elfów ma przynieść, wystarczy wydrukować tylko dodatkową liczbę elfów, której potrzebuje na liście domów
Przypadki testowe
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
Zasady
- Dane wejściowe mogą być pobierane jako argument funkcji lub STDIN lub równoważny
- Dane wyjściowe mogą być albo wartością zwracaną przez funkcję, albo drukowane do STDOUT lub równoważne
- Wejście będzie zawierać tylko liczby,
+,*, i nowe linie\n - Wynik powinien być tylko całkowitą liczbą elfów, których Święty Mikołaj potrzebuje pomocy, aby dostarczyć w Boże Narodzenie
- Standardowe luki zastosowanie
Punktacja
Sanie Świętego Mikołaja są pełne prezentów, co daje mu mniej miejsca na uruchomienie kodu, więc potrzebuje najkrótszego kodu, jaki może dostać (nie martw się, jeśli to nie ma sensu. Jeśli kwestionujesz logikę Świętego Mikołaja, trafisz na niegrzeczną listę ). Ze względu na PRAWIDŁOWE rozumowanie Świętego Mikołaja wygrywa najkrótsze przesłanie w bajtach!
Tabela liderów
To jest fragment kodu, który generuje zarówno tabelę wyników, jak i przegląd zwycięzców według języka.
Aby mieć pewność, że Twoja odpowiedź się pojawi, zacznij od nagłówka, korzystając z następującego szablonu Markdown
## Language Name, N bytes
Gdzie N jest rozmiarem twojego przesłania w bajtach
Jeśli chcesz dołączyć wiele liczb do nagłówka (na przykład przekreślając stare wyniki lub włączając flagi w liczbie bajtów), po prostu upewnij się, że rzeczywisty wynik jest ostatnią liczbą w nagłówku
## Language Name, <s>K</s> X + 2 = N bytes
hello-world.c. Elfy robotnicze są chętnie przydzielane do celów, jak powiedział Jojodmo (jestem pewien, że znam Jojodmo, to on musi być naszym sysadmem), a następnie używają oddzwaniania, aby powiadomić, kiedy nadszedł czas, aby ponownie założyć sanie lub kiedy dziecko je zobaczyło.
max(naughty) + max(nice)elfów na całą trasę? Myślałem, że ma przy sobie grupę elfów, ale może masz na ten temat poufne informacje i muszę w tym roku przyjrzeć się bliżej. :)