Опис виклику
Лангфорд рядок замовлення Nвизначається наступним чином :
- Довжина струни дорівнює
2*N, - Рядок містить перші
Nлітери англійського алфавіту, причому кожна літера з’являється двічі, - Для кожної пари однакових букв, є
Mбукви між ними, деMпозиція цієї букви в алфавіті (A = 1,B = 2,...,Z = 26).
Наприклад, єдиними двома можливими ланцюжками порядку порядку 3є BCABACі CABACB. Як бачите, в обох цих рядках є одна літера між двома A, двома літерами між B'і трьома літерами між C'. Враховуючи додатне ціле число N, виведіть усі рядки Лангфорда порядку 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> #
Примітки
- Ленгфорд рядок замовлення
Nможе бути проведена тільки тоді , колиN ≡ 0 (mod 4)абоN ≡ 3 (mod 4), - Ви можете використовувати як малі, так і великі літери,
- Ви також можете використовувати наступні номери (
012...або123...замість нихABC...) - Порядок рядків, у якому вони повинні відображатися як вихід, не визначено,
- Вихід може бути досить тривалим (наприклад, налічується понад 5 трлн чітких рядків порядку Лангфорда
20), тому вашій програмі насправді не потрібно виводити їх усі, але це має працювати теоретично (з урахуванням достатнього часу та пам'яті). - Ця проблема була взята з / r / dailyprogrammer , всі кредити надходять на / u / XenophonOfAthens
4
У пісочниці є складне завдання. Хоча це ні в якому разі не вимагає, це, як правило, хороша ідея і, мабуть, ввічливо перевірити там і на копії.
—
Мартін Ендер
Чи можемо ми просто вивести масив чисел?
—
Leaky Nun
@LeakyNun: Звичайно, чому б ні. Я оновив опис.
—
shooqie