ฉันต้องการลองโค้ดกอล์ฟรูปแบบใหม่ที่นี่ คล้ายกับโบนัสไม่ใช่ทุกส่วนของการท้าทายที่จะต้องทำให้เสร็จ แต่คำตอบแต่ละข้อจะต้องใช้ส่วนย่อยที่มีขนาดที่แน่นอน ดังนั้นนอกเหนือจากการตีกอล์ฟความท้าทายนี้ยังเกี่ยวข้องกับการเลือกชุดคุณลักษณะที่เข้ากันได้ดี
กฎระเบียบ
Kingdom Builderเป็นเกมกระดานที่เล่นบนกริด hex (จุดสูงสุด) กระดานประกอบด้วยสี่ส่วน (แบบสุ่ม) ซึ่งแต่ละกลุ่มมีเซลล์ Hex10 เท่า 10x10 (ดังนั้นกระดานเต็มจะเป็น 20x20) สำหรับจุดประสงค์ของการท้าทายนี้แต่ละเซลล์ฐานสิบหกมีทั้งน้ำ ( W
), ภูเขา ( M
) เมือง ( T
), ปราสาท ( C
) หรือว่างเปล่า ( .
) ดังนั้นจตุภาคอาจดูเหมือน
. . W . . . . . . .
. M W W . . . . . .
. M . . W . . . T .
M M . W . . . . . .
. . M . W W . . . .
. . . . . W W W W W
. T . . . . . . . .
. . W . . C . . . .
. . W W . . . . M .
. . . . . . . M M .
แถวที่สองจะถูกชดเชยไปทางขวาจากแถวแรกเสมอ ผู้เล่น1
จะ4
สามารถวางได้ถึง 40 การตั้งถิ่นฐานในแต่ละเซลล์ว่าง (ตามกฎบางอย่างที่เราจะไม่สนใจสำหรับความท้าทายนี้) บอร์ดที่เป็นไปได้ในตอนท้ายของเกมมีดังต่อไปนี้:
3 3 W . . . 4 . 4 . . 2 W . 4 . . 4 . 4
3 M W W . 1 1 . . 4 2 W . 3 C 4 4 . . 4
3 M 2 2 W 1 1 1 T 3 2 W 4 3 . 1 4 . 4 .
M M . W 2 2 . . . 2 2 W 3 . 1 1 1 . . .
. 4 M . W W 2 2 2 2 W W 3 . 1 4 . T . .
. . . . . W W W W W . 3 C 1 . . 2 2 2 2
. T 1 1 1 1 . . 2 . . 4 . . . 2 2 M M M
4 . W 4 . C 4 4 . . . . . . 2 M M M M M
. 4 W W . . . 4 M . . W . W . 2 2 2 M M
. . . . . . . M M . . W W . . . . 2 M .
. . . 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 . 1
M 3 3 . . . . . . . . 4 . T 2 . 2 4 1 .
M M . C . 4 . 4 . . . . . 1 2 4 2 1 1 .
M . . 1 . 4 . . . . M M 1 2 . . 2 1 . .
. . . W 1 1 4 1 1 . . . 1 2 . . 2 W W W
. . 1 1 W 1 T . 1 1 1 1 T . . 2 W . 4 .
. 1 1 W . 3 3 . . . . . . . . 2 W 4 C 3
C 1 3 3 3 . 3 . 4 . 4 . 4 . . 2 W 1 1 M
4 3 3 4 . M 4 3 . . . . . . . 2 W . . .
. . . 4 . M M 3 . . 4 4 . 4 . 2 W W . .
เราจะติดป้ายกำกับควอดเทอร์เช่น
1 2
3 4
งานของคุณคือทำคะแนนกระดานเช่นนี้ มีหนึ่งคะแนนหลักที่ใช้เสมอและ 8 คะแนนเสริมซึ่ง3คะแนนจะถูกเลือกสำหรับแต่ละเกม †ในตัวอย่างต่อไปนี้ฉันจะอธิบายคะแนนทั้งหมด 9 คะแนนและใช้การตั้งค่าด้านบนเป็นตัวอย่างสำหรับจำนวนคะแนนที่ผู้เล่นแต่ละคนจะได้รับ
†มี 10 คะแนนในเกมจริง แต่ฉันจะออกสองเพราะไม่มีใครอยากตีกอล์ฟ
คะแนนหลัก ผู้เล่นจะได้รับ3 คะแนนสำหรับแต่ละC
astle ที่พวกเขามีการตั้งถิ่นฐานติดกับ คะแนนตัวอย่าง: 18, 0, 15, 12
คะแนนเสริม
ผู้เล่นจะได้รับ1 คะแนนสำหรับแต่ละแถวแนวนอนซึ่งพวกเขามีการตัดสินอย่างน้อยหนึ่งครั้ง
คะแนนตัวอย่าง: 14, 20, 12, 16
สำหรับผู้เล่นแต่ละคนให้หาแถวแนวนอนที่พวกเขาใช้ในการตั้งถิ่นฐานของพวกเขา (เลือกใด ๆ ในกรณีที่เสมอกัน) ผู้เล่นจะได้รับ2 คะแนนสำหรับการตัดสินแต่ละครั้งในแถวนั้น
คะแนนตัวอย่าง: 14 (แถว 16), 8 (แถว 4, 5 หรือ 6), 28 (แถว 11), 10 (แถว 1)
ผู้เล่นจะได้รับ1 แต้มสำหรับการตัดสินแต่ละครั้งที่สร้างขึ้นถัดจาก
W
aterตัวอย่างคะแนน: 13, 21, 10, 5
ผู้เล่นจะได้รับ1 แต้มในแต่ละการตัดสินที่อยู่ถัดจาก
M
ภูเขาคะแนนตัวอย่าง: 4, 12, 8, 4
นับการตั้งถิ่นฐานของผู้เล่นแต่ละคนในแต่ละควอแดรนท์ ต่อหนึ่งในสี่ผู้เล่นที่มีการตั้งถิ่นฐานมากที่สุดจะได้รับ12 คะแนนในแต่ละครั้งผู้เล่นที่มีการตั้งถิ่นฐานที่ใหญ่เป็นอันดับสองจะได้รับ6 คะแนนในแต่ละครั้ง
ตัวอย่างคะแนน: 18 (6 + 0 + 6 + 6), 36 (12 + 12 + 0 + 12), 12 (0 + 0 + 12 + 0), 18 (12 + 6 + 0 + 0)
สำหรับผู้เล่นแต่ละคนกำหนดควอดเรนท์ที่พวกเขามีจำนวนการตั้งถิ่นฐานน้อยที่สุด ผู้เล่นได้รับ3 คะแนนสำหรับการตัดสินแต่ละครั้งในควอแดรนท์
ตัวอย่างคะแนน: 18 (Quadrant 2), 0 (Quadrant 3), 15 (Quadrant 1 หรือ 2), 27 (Quadrant 3)
ผู้เล่นได้รับ1 คะแนนสำหรับแต่ละกลุ่ม
คะแนนตัวอย่าง: 7, 5, 6, 29
ผู้เล่นได้รับ1 คะแนนสำหรับการชำระหนี้2ครั้งในกลุ่มการชำระหนี้ที่เชื่อมโยงกันที่ใหญ่ที่สุดของผู้เล่น
คะแนนตัวอย่าง: 4, 10, 8, 2
ความท้าทาย
เช่นเดียวกับในเกมที่คุณจะต้องเลือก3คะแนนและเลือกกระดานที่กำหนดจากคะแนนหลักและคะแนนทั้งสาม รหัสของคุณควรสร้างรายการ 4 คะแนน แม้ว่าจะมีข้อ จำกัด หนึ่งข้อในการเลือก: ฉันได้จัดกลุ่มคะแนนออกเป็น 3 กลุ่มและคุณต้องใช้หนึ่งในแต่ละกลุ่ม:
- ดำเนินการอย่างใดอย่างหนึ่งที่ 1 และ 2
- ดำเนินการอย่างใดอย่างหนึ่ง3, 4, 5 และ 6
- ดำเนินการอย่างใดอย่างหนึ่งที่ 7 และ 8
คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN, อาร์กิวเมนต์บรรทัดคำสั่ง, พรอมต์หรือพารามิเตอร์ฟังก์ชัน คุณอาจส่งคืนผลลัพธ์หรือพิมพ์ไปที่ STDOUT
คุณสามารถเลือกรูปแบบรายการ / สตริง 1D หรือ 2D ที่สะดวกสำหรับอินพุต คุณไม่สามารถใช้กราฟที่มีข้อมูลการเติมเต็ม นี่คือการอ่านที่ดีในกริดฐานสิบหกหากคุณต้องการแรงบันดาลใจ
ผลลัพธ์ของคุณอาจอยู่ในรูปแบบรายการหรือรูปแบบสตริงที่สะดวกและชัดเจน
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ
ข้อสันนิษฐานเพิ่มเติม
คุณอาจคิดว่า ...
- ... ผู้เล่นแต่ละคนมีการชำระอย่างน้อย 1 ครั้งและมีการตั้งถิ่นฐานของผู้เล่นแต่ละคนไม่เกิน 40 คน
- ... แต่ละด้านประกอบด้วยเมืองหนึ่งและสองปราสาทหรือสองเมืองและหนึ่งปราสาท
- ... เมืองและปราสาทอยู่ห่างกันพอที่จะไม่สามารถตั้งถิ่นฐานอยู่ติดกับสองของพวกเขา
กรณีทดสอบ
ยังใช้กระดานข้างต้นต่อไปนี้เป็นคะแนนส่วนบุคคลสำหรับตัวเลือกที่เป็นไปได้ทั้งหมดของกลไกการให้คะแนน:
Chosen Scores Total Player Scores
1 3 7 52 46 43 62
1 3 8 49 51 45 35
1 4 7 43 37 41 61
1 4 8 40 42 43 34
1 5 7 57 61 45 75
1 5 8 54 66 47 48
1 6 7 57 25 48 84
1 6 8 54 30 50 57
2 3 7 52 34 59 56
2 3 8 49 39 61 29
2 4 7 43 25 57 55
2 4 8 40 30 59 28
2 5 7 57 49 61 69
2 5 8 54 54 63 42
2 6 7 57 13 64 78
2 6 8 54 18 66 51