คำอธิบายการท้าทาย
สตริง Langfordของการสั่งซื้อNที่มีการกำหนดดังต่อไปนี้:
- ความยาวของสายเท่ากับ
2*N, - สตริงมี
Nตัวอักษรตัวแรกของตัวอักษรภาษาอังกฤษตัวอักษรแต่ละตัวปรากฏสองครั้ง - สำหรับคู่ของตัวอักษรเดียวกันในแต่ละมี
Mตัวอักษรระหว่างพวกเขาที่Mเป็นตำแหน่งของตัวอักษรที่อยู่ในตัวอักษร (A = 1,B = 2,...,Z = 26)
ยกตัวอย่างเช่นเพียงสองสาย Langford เป็นไปได้ของการสั่งซื้อ3เป็นและBCABAC CABACBที่คุณสามารถดูในทั้งสองของสตริงเหล่านี้มีจดหมายฉบับหนึ่งระหว่างสองA's สองตัวอักษรระหว่างB' s และสามตัวอักษรระหว่างC's รับจำนวนเต็มบวกNเอาท์พุทสตริงการสั่งซื้อทั้งหมดของ Langford N(ในรูปแบบที่เหมาะสม: พิมพ์ทีละบรรทัดโดยคั่นด้วยบรรทัดใหม่ส่งคืนรายการ / อาร์เรย์ ... )
ตัวอย่างอินพุต / เอาต์พุต
3: [CABACB, BCABAC]
4: [DACABDCB, BCDBACAD]
5: # no output #
7: [GCFBECBDGFEADA, GBFCBDECGFDAEA, GBDFBCEDGCFAEA, GCAFACDEGBFDBE, GADAFCEDGCBFEB, GACAFDCEGBDFBE, GDAEAFDCGEBCFB, GBDEBFCDGECAFA, EGBFCBEDCGFADA, CGDFCBEDBGFAEA, EGDAFAEDCGBFCB, EGBCFBECDGAFAD, AGABFDBECGDFCE, EGADAFECDGBCFB, AGABEFBCDGECFD, BGDBCEFDCGAEAF, FBGDBCEFDCGAEA, BFGBAEADFCGEDC, CFGACADEFBGDBE, EAGAFBEDBCGFDC, BCGBFCEADAGFED, DAGAFDBECBGFCE, EBGCBFECDAGAFD, CEGDCFBEDBGAFA, CEGBCFBEDAGAFD, BDGBCFDECAGAFE, EFAGACEDFCBGDB, DFAGADEBFCBGEC, AFAGBDEBFCDGEC, DFAGADCEFBCGBE, ECFGBCEBDFAGAD, DEFGADAECFBGCB, CDFGCBDEBFAGAE, EBDGBFEDACAGFC, CDEGCFDAEABGFB, AEAGCDFECBDGBF, FAEAGCDFECBDGB, DFCEGDCBFEBAGA, BFCBGDCEFADAGE, ECFDGCEBDFBAGA, DAFAGDCEBFCBGE, BCFBGCDEAFADGE, AEAFGBDEBCFDGC, ADAFGCDEBCFBGE, AFACEGDCFBEDBG, BFCBEGCDFAEADG, EBFDBGECDFACAG, BEFBCGDECFADAG, EBDFBGEDCAFACG, AEAFCGDECBFDBG, AEADFGCEDBCFBG, ADAEFGDBCEBFCG]
12: # <216288 strings> #
หมายเหตุ
- สตริง Langford ของการสั่งซื้อ
Nเท่านั้นที่สามารถผลิตเมื่อN ≡ 0 (mod 4)หรือN ≡ 3 (mod 4), - คุณสามารถใช้ทั้งตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
- คุณอาจใช้หมายเลขที่ตามมาเช่นกัน (
012...หรือ123...แทนABC...) - ลำดับของสตริงที่ควรปรากฏเมื่อเอาต์พุตไม่ได้ระบุไว้
- เอาต์พุตอาจมีความยาวค่อนข้างมาก (ตัวอย่างเช่นมีลำดับคำสั่ง Langford ที่แตกต่างกันมากกว่า 5 ล้านล้านชุด
20) ดังนั้นโปรแกรมของคุณไม่จำเป็นต้องใช้เอาต์พุตทั้งหมด แต่ต้องทำงานในทางทฤษฎี (ให้เวลาและหน่วยความจำเพียงพอ) - ความท้าทายนี้ถูกนำมาจาก/ r / โปรแกรมประจำวันเครดิตทั้งหมดไปที่/ u / XenophonOfAthens
4
มีความท้าทายที่เกี่ยวข้องอย่างใกล้ชิดในกล่องทราย ในขณะที่ไม่จำเป็นต้องใช้มันเป็นความคิดที่ดีและอาจจะสุภาพในการตรวจสอบมีซ้ำกัน
—
Martin Ender
เราสามารถส่งออกอาร์เรย์ของตัวเลขได้หรือไม่
—
Leun Nun
@LeakyNun: แน่นอนทำไมไม่ ฉันอัปเดตคำอธิบาย
—
shooqie