พื้นหลัง
ราเมือกนั้นยอดเยี่ยม หากคุณวางพวกเขาไว้บนพื้นผิวที่มีแหล่งอาหารพวกเขาจะแพร่กระจายกิ่งก้านของพวกเขาเพื่อค้นหาอาหารจากนั้นพวกเขาจะสร้างเครือข่ายการเชื่อมโยงระหว่างแหล่งที่มา ในการท้าทายนี้คุณจะต้องจำลองราเมือกหาอาหาร ยิ่งไปกว่านั้นแม่พิมพ์นี้จะหยุดทันทีเมื่อพบว่าเพียงพอ
อินพุต
ปัจจัยการผลิตของคุณจะเป็นรายการL
ของ 2D N
จำนวนเต็มพิกัดในรูปแบบของภาษาพื้นเมืองของคุณและติดลบ รายการL
รับประกันว่าจะไม่ซ้ำกัน แต่มันอาจไม่ถูกเรียงลำดับ อินพุตN
อยู่ระหว่าง 0 ถึงความยาวL
รวม
รายการL
แสดงชุดของพิกัดสำหรับแหล่งอาหาร ตัวอย่างเช่นรายการ
[(0,0),(2,-1),(3,1),(0,4),(5,5)]
สามารถตีความได้ด้วยสายตาเป็น
o
o
o
o
o
เอาท์พุต
เอาต์พุตของคุณเป็นรายการที่ไม่มีค่าซ้ำกันK
ของพิกัดจำนวนเต็ม 2D ในรูปแบบเดียวกับอินพุต มันหมายถึงเครือข่ายที่เกิดขึ้นจากราเมือกและมันจะต้องตอบสนองเงื่อนไขดังต่อไปนี้:
- จุดตัดของ
L
และมีขนาดตรงK
N
- ชุด
K
เชื่อมต่อเป็นส่วนย่อยของตารางจำนวนเต็ม (ผ่าน adogencies มุมฉากหรือทแยงมุม) - หากพิกัดใด ๆ ของ
K
ถูกลบออกมันจะไม่เป็นไปตามเงื่อนไขสองประการแรกอีกต่อไป
โปรดทราบว่าถ้าN = 0
ผลลัพธ์จะต้องเป็นรายการที่ว่างเปล่า
ตัวอย่างของเอาต์พุตที่ยอมรับได้สำหรับรายการด้านบนL
และN = 4
จะเป็น
[(0,0),(0,1),(0,2),(0,3),(0,4),(1,4),(2,4),(3,3),(3,2),(3,1),(3,5),(4,5),(5,5)]
ซึ่งสามารถมองเห็นเป็น
xxO
Oxx
x x
x x
x O
O
o
ซึ่งแต่ละคนO
แสดงให้เห็นถึงการประสานงานทั้งในL
และK
และแต่ละคนx
แสดงให้เห็นถึงการประสานงานในแต่ไม่ได้อยู่ในK
L
เอาต์พุตอื่นยังยอมรับได้และ "tendrils" ไม่จำเป็นต้องสั้นที่สุด ตัวอย่างเช่นนี่เป็นโซลูชันที่ยอมรับได้:
xxOxx
Oxx x
x x
x x
x o x
O x
Ox
กฎระเบียบ
ทั้งอินพุตและเอาต์พุตจะเป็นรายการไม่ใช่ชุดข้อมูลหรือประเภทข้อมูลอื่น พิกัดเองสามารถเป็นรายการหรือสิ่งอันดับ คุณสามารถเปลี่ยนลำดับของอินพุตทั้งสองหากจำเป็น
คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต
กรณีทดสอบ
N
โปรแกรมของคุณควรจะทำงานในรายการเหล่านี้สำหรับค่าบังคับทั้งหมด
[]
[(2,3)]
[(0,0),(1,0),(0,1),(1,1)]
[(0,0),(2,-1),(3,1),(0,4),(5,5)]
[(0,0),(1,0),(2,0),(3,0),(0,3),(1,3),(2,3),(3,3)]
[(0,0),(1,0),(2,0),(3,0),(0,3),(1,3),(2,3),(3,3),(0,1),(0,2),(3,1),(3,2),(8,1),(8,2),(-5,1),(-5,2)]
[(0,0),(20,0),(15,15),(-10,4),(-10,3),(0,-5),(7,6),(7,7),(8,8),(9,8),(10,-2),(-1,12),(-3,10)]
[(0,0),(1,0),(2,0),(3,0),(5,0),(6,0),(7,0),(0,9),(1,9),(2,9),(3,8),(4,9),(5,10),(6,10),(7,9),(3,3),(4,4),(5,5)]
มองเห็น:
===
o
===
oo
oo
===
o
o
o
o
o
===
oooo
oooo
===
oooo
o o o o
o o o o
oooo
===
o
o
o
oo
o
o
o
o
o o
o
o
===
oo
ooo o o
o
o
o
o
oooo ooo