Edycja : Nie grałem wcześniej w D&D, więc kiedy początkowo zadałem to pytanie, nie zbadałem go właściwie. Przepraszam za to i wprowadzam kilka zmian, które mogą unieważnić odpowiedzi, aby zachować jak największą zgodność z zasadami dnd 5e. Przepraszam.
Fan D&D z ostatniego Hot Network Question wydaje się mieć problem z ustaleniem, czy wybrane zaklęcia czarownika odpowiadają tym możliwościom - i myślę, że powinniśmy pomóc!
Wprowadzenie
(wszystko to jest już opisane we wcześniej wspomnianym pytaniu)
Czarownik zna dwa zaklęcia poziomu 1 od początku (poziom 1): [1, 1]
Za każdym razem, gdy czarownik zdobywa poziom (z wyjątkiem poziomów 12, 14, 16, 18, 19 i 20), uczą się nowego zaklęcia (obowiązkowe).
Dodatkowo, przy awansowaniu, możesz wybrać (opcjonalnie) zastąpienie jednego z zaklęć innym.
Zaklęcia wyuczone i zastąpione muszą być prawidłowym poziomem miejsca na zaklęcie, który jest o połowę wyższy od poziomu twojego czarownika. Zobacz tę tabelę:
Sorcerer level Highest spell level possible
1 1
2 1
3 2
4 2
5 3
6 3
7 4
8 4
9 5
10 5
11 6
12 6
13 7
14 7
15 8
16 8
17 9
18 9
19 9
20 9
Oznacza to, że na poziomie 3 można mieć takie poziomy zaklęć [1, 1, 2, 2]:
Level 1: [1, 1] (initial)
Level 2: [1, 1, 1 (new)]
Level 3: [1, 1, 2 (replaced), 2 (new)]
Nie jest wymagane wybieranie zaklęć najwyższego poziomu, do których masz dostęp.
Poziomy zaklęć [1, 1, 1, 1]są doskonale ważne dla poziomu 3.
Na koniec pamiętaj, że zastąpienie zaklęcia jest opcjonalną opcją na każdym poziomie . Oznacza to, że niektóre poziomy mogą pominąć zamianę, podczas gdy inne z niej korzystają.
Wyzwanie
Stwórz program lub funkcję, która przyjmuje liczbę całkowitą (poziom) od 1 do 20.
Powinien także przyjmować tablicę liczb całkowitych (poziomów zaklęć) o wartościach od 1 do 9 w dowolnej kolejności (9 to maksymalny poziom zaklęcia).
Dane wyjściowe programu powinny być zgodne z prawdą / fałszem, sprawdzając, czy wybrane poziomy zaklęć są ważne dla czarodzieja danego poziomu.
Przypadki testowe
Level: 1
Spells: [1, 1]
Output: true
Level: 8
Spells: [1, 1, 2, 3, 3, 5]
Ouput: false
Reason: A level 8 can't ever have access to a level 5 spell.
Level: 5
Spells: [1, 1, 1, 2, 2, 2, 3]
Output: false
Reason: A level 5 can't have access to 7 spells
Level: 11
Spells: [3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6]
Output: false
Reason: Too many spell upgrades.
The highest valid selection for level 11 is
[3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6]
To jest golf golfowy - wygrywa najmniej bajtów!
[2,2,3,3]nie byłyby możliwe, ponieważ wymagają więcej zamiany, niż czarodziej z tego poziomu miałby dostęp” - czy fakt, że lista ma długość 4 zamiast 5, nie jest tutaj bardziej fundamentalnym powodem? (Zakładam, że [1,3,2,2,3]możliwe jest przejście na poziom 4 z poziomu 3 [1,1,2(replaced),2(new)]na [1,3(replaced),2,2,3(new)]?)
