เกมกระดาน
ในเกมกระดานผู้เล่น " การ์กาซอน " วางไพ่โดยการจับคู่ขอบของพวกเขาและรับคะแนนสูงสุดผ่านการสร้างพื้นที่ต่อเนื่องขนาดใหญ่ของภูมิประเทศ ต่อไปนี้คือ (ประมาณ) ประเภทและปริมาณของกระเบื้องที่รวมอยู่ในเกม:
#01
x4
#02
x5
#03
x8
#04
x2
#05
x9
#06
x4
#07
x1
#08
x3
#09
x3
#10
x3
#11
x4
#12
x5
#13
x3
#14
x3
#15
x2
#16
x5
#17
x5
#18
x2
#19
x3
#20
x1
#21
x5
#22
x2
#23
x1
#24
x1
#25
x1
งาน
คุณต้องวางกระเบื้องโดยจับคู่ขอบในขณะที่พยายามรักษาพื้นที่ที่ต่อเนื่องที่ใหญ่ที่สุดที่เป็นไปได้ของภูมิประเทศ
การวาง
- สามารถวางไทล์ได้ในหนึ่งในช่องว่าง (สูงสุด 4) ที่อยู่ติดกับไทล์ (หรือไทล์) ที่มีอยู่ในพื้นที่เล่น
- กระเบื้องสามารถหมุนได้ 90, 180 หรือ 270 องศา
ขอบจับคู่
- ขอบของกระเบื้องที่วางไว้จะต้องตรงกับขอบของกระเบื้องที่อยู่ใกล้เคียง (สูงสุด 4) นั่นคือพิกเซลการสัมผัสมีสีเดียวกัน
ภูมิประเทศที่ต่อเนื่องกัน
- "การปิดพื้นที่ภูมิประเทศ" หมายถึงการวางกระเบื้องเพื่อให้พื้นที่สีที่ต่อเนื่องกันนั้นไม่สามารถดำเนินการต่อด้วยการจัดตำแหน่งกระเบื้องเพิ่มเติม
- หากเป็นไปได้ตำแหน่งอื่นจะต้องเลือกตำแหน่งใด ๆ ที่จะปิดพื้นที่ภูมิประเทศ
- หากคุณต้องเลือกระหว่างจำนวนตำแหน่งที่ปิดให้เลือกใด ๆ หากคุณต้องเลือกระหว่างตำแหน่งที่ไม่ปิดจำนวนให้เลือกตำแหน่งใดก็ได้
- ไม่สนใจ # ff00ff (พิกเซลมุม) เมื่อคำนวณพื้นที่ต่อเนื่อง นอกจากนี้ยังไม่สนใจสิ่งปลูกสร้างเช่นพื้นที่ที่มีสีอยู่แล้วภายในกระเบื้อง
อินพุต
อินพุตเป็นภาพสองภาพ:
พื้นที่เล่น
- พื้นที่เล่นเริ่มต้นประกอบด้วยไทล์
#11
(ไทล์เดียว) - พื้นที่เล่นเสริมที่สร้างขึ้นเป็นเอาต์พุตต้องได้รับการสนับสนุนเป็นอินพุตด้วย
- พื้นที่เล่นเริ่มต้นประกอบด้วยไทล์
กระเบื้องที่จะวาง
- ไทล์ตัวอย่างทั้งหมดต้องได้รับการสนับสนุนเป็นอินพุต
ระบุการจับคู่ขอบ / ภูมิประเทศที่ต่อเนื่องกันโดยใช้ข้อมูลภาพนี้เพียงอย่างเดียว ไม่มีการเข้ารหัส
เอาท์พุต
- เอาท์พุทเป็นภาพที่แสดงพื้นที่เล่นผลลัพธ์หลังจากวางกระเบื้อง
- ภาพจะต้องเข้ากันได้กับโปรแกรมของคุณเองเช่นสามารถใช้เป็นอินพุตของพื้นที่เล่น
- ถ้ามันเป็นไปไม่ได้ที่จะวางกระเบื้องกลับข้อผิดพลาด
คุณสามารถสันนิษฐานได้ว่า
- ไทล์มีขนาด 55 px คูณ 55 px
- ไทล์จะแสดงสีที่ใช้ในไทล์ตัวอย่างเท่านั้น
หมายเหตุ
- คำตอบของคุณจะต้องแสดงตัวอย่างผลลัพธ์หลังจากผ่านไปอย่างน้อย 2 ครั้ง
- นี่เป็นการแสดงผลเกมกระดานบางส่วนและไม่ถูกต้องคุณไม่จำเป็นต้องใช้กฎหรือยุทธวิธีใด ๆ ที่ไม่ได้กล่าวถึงที่นี่
คะแนน
- คะแนนของคุณคือจำนวนไบต์ของการส่งของคุณ
- ข้อมูลรูปภาพไม่รวมอยู่ในคะแนนของคุณ
- คะแนนต่ำสุดชนะ
เล่นเกมเต็ม
คุณอาจต้องการเขียนสคริปต์ที่ใช้ submissison ของคุณเพื่อเล่นเกมเต็มซึ่งอาจประกอบด้วย:
- การวางไทล์สุ่มเลือกจากชุดเต็มของ 85
- ส่งคืนไทล์ไปยังชุดหากไม่สามารถวางได้
- ทำซ้ำจนกว่าจะวางทุกไทล์ - หรือจนกว่าจะวางไพ่สองใบในแถวไม่ได้
มันจะไม่รวมอยู่ในการนับจำนวนไบต์ของคุณหรือปรับปรุงคะแนนของคุณ แต่ฉันน่าจะให้คำตอบแบบนี้