แก้ไข : ฉันไม่ได้เล่น D&D มาก่อนเมื่อฉันตั้งคำถามนี้ขึ้นมาฉันไม่ได้ค้นคว้าอย่างถูกต้อง ฉันขอโทษสำหรับสิ่งนี้และฉันกำลังแก้ไขบางอย่างที่อาจทำให้คำตอบไม่ถูกต้องเพื่อให้เป็นจริงที่สุดเท่าที่จะเป็นไปได้สำหรับกฎ dnd 5e ขอโทษ
แฟน D&D จากคำถามเครือข่ายร้อนแรงเมื่อไม่นานมานี้ดูเหมือนว่าจะมีปัญหาบางอย่างเกี่ยวกับว่านักเวทย์มนตร์ที่ถูกเลือกเข้าแถวสอดคล้องกับความเป็นไปได้หรือไม่ - และฉันคิดว่าเราควรช่วย!
บทนำ
(ทั้งหมดนี้ได้อธิบายไว้แล้วในคำถามที่กล่าวถึงก่อนหน้านี้)
นักเวทย์รู้สองคาถาระดับ 1 ตั้งแต่เริ่มต้น (ระดับ 1): [1, 1]
ทุกครั้งที่นักเวทย์จะได้รับเลเวล (ยกเว้นเลเวล 12, 14, 16, 18, 19 และ 20) พวกเขาเรียนรู้คาถาใหม่ (จำเป็น)
นอกจากนี้เมื่อปรับระดับขึ้นหนึ่งสามารถเลือก (ไม่จำเป็น) เพื่อแทนที่คาถาหนึ่งด้วยอีก
คาถาที่เรียนรู้และแทนที่จะต้องเป็นระดับสล็อตคาถาที่ถูกต้องซึ่งเป็นครึ่งหนึ่งของระดับจอมเวทย์ของคุณ ดูตารางนี้:
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
ซึ่งหมายความว่าที่ระดับ 3 หนึ่งสามารถมีระดับการสะกด[1, 1, 2, 2]เช่นนี้:
Level 1: [1, 1] (initial)
Level 2: [1, 1, 1 (new)]
Level 3: [1, 1, 2 (replaced), 2 (new)]
ไม่จำเป็นต้องเลือกคาถาระดับสูงสุดที่คุณสามารถเข้าถึงได้
ระดับเวทย์[1, 1, 1, 1]นั้นใช้ได้อย่างสมบูรณ์แบบสำหรับระดับ 3
สุดท้ายจำไว้ว่าการเปลี่ยนการสะกดเป็นตัวเลือกที่ไม่จำเป็นสำหรับทุกระดับ ซึ่งหมายความว่าบางระดับสามารถข้ามการแทนที่ในขณะที่คนอื่นใช้มัน
ความท้าทาย
ทำโปรแกรมหรือฟังก์ชั่นที่ใช้จำนวนเต็ม (ระดับ) ระหว่าง 1 ถึง 20
นอกจากนี้ควรใช้อาร์เรย์ของจำนวนเต็ม (ระดับการสะกด) ด้วยค่าตั้งแต่ 1 ถึง 9 ในลำดับใด ๆ (9 คือระดับการสะกดสูงสุด)
ผลลัพธ์ของโปรแกรมควรเป็นค่าการตรวจสอบความจริง / ความเท็จหากระดับการสะกดที่เลือกนั้นถูกต้องสำหรับนักเวทย์มนตร์ของระดับที่กำหนด
กรณีทดสอบ
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]
นี่คือcode-golf - ไบต์ที่น้อยที่สุดชนะ!
[2,2,3,3]จะไม่สามารถทำได้เนื่องจากต้องใช้การแทนที่มากกว่าเวทย์มนตร์ของระดับนั้นจะสามารถเข้าถึงได้" - ความจริงไม่ใช่ว่ารายการมีความยาว 4 แทนที่จะเป็น 5 เหตุผลพื้นฐานที่นี่ใช่หรือไม่ (ผมถือว่า[1,3,2,2,3]เป็นไปได้สำหรับ 4 ระดับโดยเริ่มจากระดับ 3 [1,1,2(replaced),2(new)]เพื่อ[1,3(replaced),2,2,3(new)]?)
