De opgave van een Letter Boxed1 puzzel bestaat uit een vierkant met één of meer letters langs elke zijde. Daarbij komt dezelfde letter nooit meer dan één keer voor.

letter boxed (opgave)
Een Letter Boxed puzzel met drie letters langs elke zijde.

Je vindt een oplossing door de letters rond het vierkant met elkaar te verbinden en zo een reeks woorden te vormen waarvoor geldt dat:

Dezelfde letter mag in de oplossing wel meerdere keren gebruikt worden. Zo vormen de drie kleuren MYSTIC, CORAL en LIVER een oplossing van bovenstaande puzzel.

letter boxed
De drie kleuren MYSTIC, CORAL en LIVER vormen een oplossing voor de Letter Boxed puzzel. Opeenvolgende letters van deze woorden zijn verbonden met een lijn waarvan de kleur correspondeert met het woord van de oplossing waarin de twee letters na elkaar voorkomen. Ook de cirkels bij de beginletters van elk woord zijn ingekleurd met die kleur.

Opeenvolgende letters van deze woorden zijn verbonden met een lijn waarvan de kleur correspondeert met het woord van de oplossing waarin de twee letters na elkaar voorkomen. Ook de cirkels bij de beginletters van elk woord zijn ingekleurd met die kleur.

Opgave

Zowel de opgave als een mogelijke oplossing voor een Letter Boxed puzzel worden voorgesteld als een reeks woorden: een string (str) met één of meer woorden die van elkaar gescheiden worden door koppeltekens (-). Daarbij bestaat een woord uit één of meer hoofdletters.

Bij de opgave van een puzzel bestaan de woorden uit de letters die langs dezelfde zijde staan. Zo stellen we de opgave van de puzzel uit de inleiding voor als YOI-RCM-VSA-LTE en de oplossing van die puzzel als MYSTIC-CORAL-LIVER. De zijden van het vierkant worden vanaf nul genummerd op basis van de voorstelling van de opgave. Voor de opgave YOI-RCM-VSA-LTE staat de letter O bijvoorbeeld op zijde 0, de letter V op zijde 2 en de letter E op zijde 3.

Gevraagd wordt:

Voorbeeld

>>> zijde('O', 'YOI-RCM-VSA-LTE')
0
>>> zijde('V', 'YOI-RCM-VSA-LTE')
2
>>> zijde('E', 'YOI-RCM-VSA-LTE')
3
>>> zijde('X', 'YOI-RCM-VSA-LTE')
-1

>>> isvolledig('MYSTIC-CORAL-LIVER', 'YOI-RCM-VSA-LTE')
True
>>> isvolledig('DENIM-MAIZE-EGGPLANT', 'GND-IET-MZL-AP')
True
>>> isvolledig('GAINSBORO-ONYX-PEAR', 'BGY-NXE-PAO-SRI')
True
>>> isvolledig('KOBI-PLATINUM-ZOMP', 'TML-OZB-IUK-APN')
True
>>> isvolledig('DESERT-TEAL-LIVID', 'SIT-EVW-ADC-KLR')
False
>>> isvolledig('RUFOUS-SKOBELOFF', 'FL-XUM-SKE-BOR')
False
>>> isvolledig('DENIM-OPAL-MANDARIN', 'NMO-AI-LDR-EYP')
False
>>> isvolledig('BONE-SEPIA-BROWN', 'ODI-VAR-BEP-SNW')
False

>>> isopeenvolgend('MYSTIC-CORAL-LIVER')
True
>>> isopeenvolgend('DENIM-MAIZE-EGGPLANT')
True
>>> isopeenvolgend('GAINSBORO-ONYX-PEAR')
False
>>> isopeenvolgend('KOBI-PLATINUM-ZOMP')
False
>>> isopeenvolgend('DESERT-TEAL-LIVID')
True
>>> isopeenvolgend('RUFOUS-SKOBELOFF')
True
>>> isopeenvolgend('DENIM-OPAL-MANDARIN')
False
>>> isopeenvolgend('BONE-SEPIA-BROWN')
False

>>> iskruisend('MYSTIC-CORAL-LIVER', 'YOI-RCM-VSA-LTE')
True
>>> iskruisend('DENIM-MAIZE-EGGPLANT', 'GND-IET-MZL-AP')
False
>>> iskruisend('GAINSBORO-ONYX-PEAR', 'BGY-NXE-PAO-SRI')
True
>>> iskruisend('KOBI-PLATINUM-ZOMP', 'TML-OZB-IUK-APN')
False
>>> iskruisend('DESERT-TEAL-LIVID', 'SIT-EVW-ADC-KLR')
True
>>> iskruisend('RUFOUS-SKOBELOFF', 'FL-XUM-SKE-BOR')
False
>>> iskruisend('DENIM-OPAL-MANDARIN', 'NMO-AI-LDR-EYP')
True
>>> iskruisend('BONE-SEPIA-BROWN', 'ODI-VAR-BEP-SNW')
False

>>> isoplossing('MYSTIC-CORAL-LIVER', 'YOI-RCM-VSA-LTE')
True
>>> isoplossing('DENIM-MAIZE-EGGPLANT', 'GND-IET-MZL-AP')
False
>>> isoplossing('GAINSBORO-ONYX-PEAR', 'BGY-NXE-PAO-SRI')
False
>>> isoplossing('KOBI-PLATINUM-ZOMP', 'TML-OZB-IUK-APN')
False
>>> isoplossing('DESERT-TEAL-LIVID', 'SIT-EVW-ADC-KLR')
False
>>> isoplossing('RUFOUS-SKOBELOFF', 'FL-XUM-SKE-BOR')
False
>>> isoplossing('DENIM-OPAL-MANDARIN', 'NMO-AI-LDR-EYP')
False
>>> isoplossing('BONE-SEPIA-BROWN', 'ODI-VAR-BEP-SNW')
False

Epiloog

Als we zeggen dat de lengte van een oplossing het aantal letters is van alle woorden in de oplossing, dan heeft de puzzel uit de inleiding een kortste oplossing met 13 letters: MYSTICAL-LOVER. Dat in het geval dat we Engelse woorden gebruiken. Met Nederlandse woorden heeft de puzzel een kortste oplossing met 14 letters: TACTVOL-LYRISME.

letter boxed
Met Engelse woorden heeft de puzzel een kortste oplossing met 13 letters: MYSTICAL-LOVER.
letter boxed
Met Nederlandse woorden heeft de puzzel een kortste oplossing met 14 letters: TACTVOL-LYRISME.