Wat is er zo bijzonder aan deze 14 reeksen van woorden?

accost commit launch deeded
adhere heckle silent versed
ampere arrive angers theses
chance ascent tester stored
chaste ascend tinder seeded
cohere heckle silent versed
debase mucked refile stress
demure riffle silent versed
endure shelve riling nested
forego recess gossip needed
herein advice resins stones
rebate locket career tested
recast costar pirate esters
remade astute surest rested
accost commit launch deededaccolade communed stitched
adhere heckle silent versedadhesive hecklers relented
ampere arrive angers thesesamaranth perigees reverses
chance ascent tester storedchastest ancestor centered
chaste ascend tinder seededchastise ascended tendered
cohere heckle silent versedcohesive hecklers relented
debase mucked refile stressdemurest backfire seedless
demure riffle silent versedderisive mufflers relented
endure shelve riling nestedenshrine duellist revenged
forego recess gossip neededforegone recessed gossiped
herein advice resins stonesheadrest revision incenses
rebate locket career testedrelocate backrest teetered
recast costar pirate estersrecopies castrate starters
remade astute surest restedreassure maturest detested

Als we alle zesletterwoorden in elke reeks verdelen in drie letterparen, en daarna de corresponderende paren samenvoegen, dan krijgen we drie nieuwe achtletterwoorden.

ACcoST COmmIT LAunCH DEedEDACCOLADE communed STITCHED

Merk op dat dit ook in de omgekeerde richting werkt, als we alle achtletterwoorden verdelen in vier letterparen, en daarna de corresponderende groepen samenvoegen.

ACcoLAde COmmUNed STitCHedACCOST commit LAUNCH deeded

Het herschikken werkt zolang we de $$m \in \mathbb{N}_0$$ woorden uit de reeks kunnen verdelen in $$n \in \mathbb{N}_0$$ groepen die elk bestaan uit evenveel letters, en de $$m$$ overeenkomstige groepen samenvoegen tot $$n$$ nieuwe woorden. Hieronder zie je bijvoorbeeld hoe $$m =  2$$ tienletterwoorden telkens verdeeld worden in $$n = 5$$ groepen van elk twee letters, die we kunnen herschikken tot $$n = 5$$ nieuwe vierletterwoorden.

CAlaMItoUS NEwsCAstERCANE laws MICA tost USER
INdiVIduAL CHalLEngESINCH dial VILE dung ALES
LOcoMOtiVE INveSTmeNTLOIN cove MOST time VENT
MAloDOroUS THreESomESMATH lore DOES room USES
REcuPEraTE INteSTinESREIN cute PEST rain TEES

De woorden in de gegeven reeks hoeven zelfs niet allemaal even lang te zijn, zolang we elk woord maar kunnen verdelen in $$n \in \mathbb{N}_0$$ groepen die elk bestaan uit evenveel letters.

ABatTOir OUTmasTERingABOUT atmas TOTER iring
ABbaCIes HORnedNESsesABHOR baned CINES esses
ABstRUse AFTereFFEctsABAFT stere RUFFE sects
ACtiNIas HOOdedNESsesACHOO tided NINES asses
ACtiVEly REStreTCHingACRES titre VETCH lying
AGlyCOne MASticATIonsAGMAS lytic COATI neons

Opgave

Als het woord dat aan de functie verdelen wordt doorgegeven of minstens één van de woorden die aan de functie herschikken worden doorgegeven niet kunnen verdeeld worden in $$n$$ groepen die elk uit evenveel letters bestaan, dan moet AssertionError opgeworpen worden met de boodschap ongeldige verdeling.

Voorbeeld

>>> verdelen('accost', 3)
['ac', 'co', 'st']
>>> verdelen('COMMIT', 3)
['CO', 'MM', 'IT']
>>> verdelen('accolade', 4)
['ac', 'co', 'la', 'de']
>>> verdelen('COMMUNED', 4)
['CO', 'MM', 'UN', 'ED']
>>> verdelen('programming', 5)
Traceback (most recent call last):
AssertionError: ongeldige verdeling

>>> herschikken(['ACcoST', 'COmmIT', 'LAunCH', 'DEedED'], 3)
['ACCOLADE', 'communed', 'STITCHED']
>>> herschikken(('ACCOLADE', 'communed', 'STITCHED'), 4)
['ACcoST', 'COmmIT', 'LAunCH', 'DEedED']
>>> herschikken('cane laws mica tost user'.split(), 2)
['calamitous', 'newscaster']
>>> herschikken('INDIVIDUAL CHALLENGES'.split(), 5)
['INCH', 'DIAL', 'VILE', 'DUNG', 'ALES']
>>> herschikken('programming computer games'.split(), 5)
Traceback (most recent call last):
AssertionError: ongeldige verdeling