Word changer เป็นเกมที่คุณพยายามเปลี่ยนคำหนึ่งไปเป็นอีกคำหนึ่งผ่านการแก้ไขอักขระเดียวโดยแต่ละขั้นตอนจะเป็นคำของตัวเอง สำหรับความท้าทายนี้การแก้ไขอาจเป็นการแทนที่การแทรกหรือการลบ ตัวอย่างเช่น WINNER → LOSER สามารถทำได้กับเส้นทางนี้ (อาจมีบางอย่าง):
WINNER
DINNER
DINER
DINE
LINE
LONE
LOSE
LOSER
อีกวิธีหนึ่งคุณต้องสามารถเข้าถึงหนึ่งคำจากอีกคำหนึ่งโดยใช้คำอื่นที่ระยะทาง 1 ของ Levenshtein
การเข้ารหัส
คุณจะได้รับรายการคำและสองคำและคุณจะต้องออกเส้นทางที่ถูกต้องจากคำหนึ่งไปยังอีกหากเส้นทางมีอยู่หรือค่าคงที่ที่แตกต่างกันหรือพฤติกรรมที่สอดคล้องกันหากไม่มีเส้นทาง
- คุณอาจสมมติว่าคำที่ป้อนมีทั้งในรายการคำ
- รายการคำสามารถใช้ผ่านรูปแบบแบน ๆ ที่สะดวก
- รายการ, ชุด, พยายาม, สตริงที่คั่นด้วยช่องว่างและไฟล์ที่คั่นด้วยเส้นจะใช้ได้ทั้งหมด (ตัวอย่างเช่น) แต่กราฟที่คำนวณล่วงหน้าของ Levenshtein adjacency ไม่ใช่
- เส้นทางขาออกควรมีทั้งคำที่ป้อนข้อมูล แต่สิ่งที่เริ่มต้นและสิ้นสุดนั้นไม่สำคัญ
- หากไม่พบเส้นทางคุณสามารถส่งออกค่าคงที่เฉพาะเจาะจงค่าเท็จรายการว่างเปล่าโยนข้อยกเว้นออกด้วยรหัสที่ไม่ใช่ศูนย์หรือพฤติกรรมอื่น ๆ ที่เกิดขึ้นในเวลา จำกัด
- เส้นทางไม่จำเป็นต้องมีประสิทธิภาพสูงสุดและไม่มีข้อกำหนดว่าควรใช้เส้นทางใด
- ความซับซ้อนในการคำนวณไม่สำคัญว่าอย่างไรโปรแกรมของคุณจะต้องได้รับการรับรองอย่างแน่นอนว่าจะยุติในเวลาอัน จำกัด (แม้ว่ามันจะวิ่งหนีความร้อนของเอกภพ)
- คุณอาจถือว่าคำทั้งหมดประกอบด้วยตัวอักษรทั้งหมดในกรณีเดียวกัน
ตัวอย่างกรณีทดสอบ
- CAT → DOG; [CAT, DOG, COG, COT, FROG, GROG, BOG]
- CAT, COT, COG, DOG
- อาบน้ำ→อาบน้ำ; [BATH, SHOWER, HAT, HAT, BAT, SAT, SAW, SOW, SHOW, HOW]
- ไม่พบเส้นทาง
- BREAK →แก้ไข; [BREAK, FIX, BEAK, BREAD, READ, BEAD, RED, BED, BAD, BID, FAD, FAX]
- BREAK, BREAD, BEAD, BAD, FAD, FAX, FIX
- BUILD → DESTROY; [สร้าง, ทำลาย, สร้าง, สร้าง, สร้างรายได้, สร้างรายได้, สร้างรายได้, สร้างรายได้, สร้างโครงสร้าง, สร้างโครงสร้าง]
- ไม่พบเส้นทาง
- บัตร→คณะกรรมการ; [บัตรคณะกรรมการ]
- บัตรคณะกรรมการ
- DEMON → ANGEL; [DEMON, ANGEL]
- ไม่พบเส้นทาง
- LAST → PAST; [LAST, PAST, BLAST, CAST, BLACK, GHOST, POST, BOAST]
- LAST, PAST
- INSERT → DELETE; รายการคำนี้
- INSERT, INVERT, INBENT, INBENT, UNBENT, UNBIND, UNBIND, UNKIND, UNKING, CER, DATE, IRKING, DERKING, SEARING, SERING, SERER ลบ