ตารางตัวเลขส่วนใหญ่จะมีที่แตกต่างกันจำนวนตารางอย่างน้อย 1 กับที่พวกเขาLevenshtein ระยะทางเป็นสิ่งที่ 1. สำหรับตารางที่กำหนดแต่ละตารางที่ตรงตามเงื่อนไขนี้จะเรียกว่าเป็นเพื่อนบ้าน Levenshteinของxตัวอย่างเช่นเป็นเพื่อนบ้านของ Levenshtein ที่เนื่องจากต้องการเพียง 1 การแก้ไข ( ) อย่างไรก็ตามไม่ใช่เพื่อนบ้านของ Levenshtein ที่เนื่องจากต้องมีการแก้ไขอย่างน้อย 2 ครั้ง ตัวเลขที่มีผู้นำ 0s ( ) ไม่ใช่เพื่อนบ้านของ Levenshtein
งานของคุณคือการใช้หมายเลขสแควร์เป็นอินพุตและเอาต์พุตในรูปแบบที่สมเหตุสมผลรายการทั้งหมดของเพื่อนบ้าน Levenshtein คุณอาจรวมเพื่อนบ้านซ้ำในรายการหากคุณต้องการ แต่คุณไม่สามารถรวมอินพุตต้นฉบับเนื่องจากไม่ใช่เพื่อนบ้านของ Levenshtein
รูปแบบที่เหมาะสมควรมีตัวคั่นบางประเภทระหว่างผลลัพธ์เช่น,
หรือขึ้นบรรทัดใหม่และสามารถส่งออกอักขระด้วยค่า Unicode ที่สอดคล้องกัน (เช่น brainfuck) แทนที่จะเป็นตัวเลขเอง ลำดับของเอาต์พุตไม่สำคัญ
การป้อนข้อมูลนี้จะเป็นจำนวนตารางมากกว่า0โปรแกรมของคุณไม่ควรมีข้อ จำกัดทางทฤษฎีแต่ถ้ามันล้มเหลวสำหรับคนจำนวนมากด้วยเหตุผลเชิงปฏิบัติ (เช่นเกิน 32- บิต) นั่นเป็นเรื่องที่สมบูรณ์
หากอินพุตไม่มีเพื่อนบ้านของ Levenshtein ผลลัพธ์จะต้องสะท้อนสิ่งนี้อย่างชัดเจนเช่นไม่มีอะไรออกมาอาเรย์ / สตริงว่างเปล่าจำนวนเต็มลบเป็นต้น
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ
กรณีทดสอบ
นี่คือผลลัพธ์สำหรับกำลังสองของถึง :
1: 4, 9, 16, 81
4: 1, 9, 49, 64
9: 1, 4, 49
16: 1, 36, 169, 196
25: 225, 256, 625
36: 16, 361
49: 4, 9
64: 4
81: 1, 841
100: 400, 900, 1600, 8100
121: 1521
144: 1444
169: 16, 1369
196: 16, 1296, 1936
225: 25, 625, 1225, 2025, 4225, 7225
256: 25
289: 2809
324: 3249
361: 36, 961
400: 100, 900, 4900, 6400
นอกจากนี้ 1024
ไม่มีเพื่อนบ้านดังนั้นจึงเป็นกรณีทดสอบที่ดี
32 * 32 = 1024
ไม่มีเพื่อนบ้าน Levenshtein ที่มีรูปสี่เหลี่ยม
1024
ไม่มีเพื่อนบ้าน Levenshtein ฉันจะแก้ไขตัวอย่างใน
2025
มี