All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > General > Word Problems
Splitting Words 2 (Posted on 2023-09-25) Difficulty: 3 of 5
Consider the Splitting Words puzzle.

If you have trouble anagramming a block, you may add one or more additional letters of your choice, in order to form a word. Each added letter, however, counts as 2 (as a penalty) for your score. If you cannot find any solution for a given word, add 0 points to your score.

Contractions, hyphenated words, and capitalized words are not allowed in answers, but plurals and past tense forms of verbs are fine.

Below are 8 words. Can you achieve a score equal to or exceeding 20?


1. MINIATURIZATION      2. UNSYMPATHETIC    
3. ACQUIESCENCE         4. NOCTAMBULATION
5. DYSFUNCTIONAL        6. NETHERMOST
7. MALADROITNESS        8. SOMNAMBULISM

See The Solution Submitted by K Sengupta    
Rating: 5.0000 (1 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
Solution computer solution Comment 1 of 1
clc,clearvars
global anaWds sets setbuild

fid=fopen('c:\words\words.txt','r');
anaWds=string.empty(0,2);
ct=0;
while ~feof(fid)
  w=fgetl(fid);
  if w==lower(w)
    ct=ct+1;
    if mod(ct,10000)==0
      disp(w)
    end
    anaWds(ct+1,:)=[string(sort(w)),string(w)];
  end
end
fclose('all')
anaWds=sortrows(anaWds);

for baseword=["miniaturization" ...
    "unsympathetic" "acquiescence" ...
    "noctambulation" "dysfunctional" ...
    "nethermost" "maladroitness" ...
    "somnambulism"]

  disp(upper(char(baseword)))
  disp(' ')

  sets={};
  setbuild=[];
  findsets(char(baseword))
  cb=char(baseword);
  for i=1:length(sets)
    wcode=sets{i};
    psn=1; 
    for j=1:length(wcode)
      st=wcode(j);
      for k=st:st+99
        w=anaWds(k,2);
        lgth=length(char(w));
        if ~isequal(w,cb(psn:psn+lgth-1))
          fprintf('%s ',w);
        end
        if ~isequal(anaWds(k+1,1),anaWds(k,1))
          break
        end
      end
      psn=psn+lgth;
      fprintf('\n')
    end
    fprintf('\n')
  end
end

function findsets(wd)
global anaWds sets setbuild
   
  for l=2:length(wd)
    [f,lst]=findAna(wd(1:l));
    if f~=0 && (~isequal(anaWds(f,2),wd(1:l)) ...
        || ~isequal(anaWds(lst,2),wd(1:l)))
      setbuild=[setbuild f];
      if l==length(wd)
        sets{end+1}=setbuild;
      else
        findsets(wd(l+1:end))
      end
      setbuild=setbuild(1:end-1);
    end
  end
end

function [first,last]=findAna(ana)
global anaWds
  ag=string(sort(ana));
  low=1; high=length(anaWds);
  prev=high;
  mid=floor((low+high)/2);
  while low<high
    if ag>=anaWds(mid,1)
      low=mid;
    end
    if ag<=anaWds(mid,1)
      high=mid;
    end   
    if prev==mid
      low=high;
    end
    prev=mid;
    mid=floor((low+high)/2);
  end
  if ag~=anaWds(mid,1)
    first=0;last=0;
  else
    while anaWds(mid-1,1)==ag
      mid=mid-1;
    end
    first=mid;
    while anaWds(mid+1,1)==ag
      mid=mid+1;
    end
    last=mid;
  end
end

produces a list of different ways of breaking each word into blocks. Each such way is listed with a line for each anagrammed word in the block. If there can be more than one anagram for a given block, they are all listed on one line.

For example, for UNSYMPATHETIC below, there are two ways of breaking it into four blocks; in one of those ways, the third block could be represented by either APT or TAP.

MINIATURIZATION
 
nim 
ai 
ut 
izar 
it 
no 

nim 
ai 
ut 
izar 
into 

animi 
ut 
izar 
it 
no 

animi 
ut 
izar 
into 

minutia 
izar 
it 
no 

minutia 
izar 
into 

UNSYMPATHETIC
 
nus sun 
my 
apt tap 
ethic 

nus sun 
my 
phat 
cite 

ACQUIESCENCE
 
NOCTAMBULATION
 
on 
act cat 
bum 
al 
it 
no 

on 
act cat 
bum 
al 
into 

on 
act cat 
bum 
alit tail tali 
no 

on 
act cat 
bum 
latino talion 

on 
act cat 
album 
it 
no 

on 
act cat 
album 
into 

con 
at 
bum 
al 
it 
no 

con 
at 
bum 
al 
into 

con 
at 
bum 
alit tail tali 
no 

con 
at 
bum 
latino talion 

con 
at 
album 
it 
no 

con 
at 
album 
into 

con 
mat 
tabuli 
no 

con 
mat 
ablution abutilon 

canto cotan octan 
bum 
al 
it 
no 

canto cotan octan 
bum 
al 
into 

canto cotan octan 
bum 
alit tail tali 
no 

canto cotan octan 
bum 
latino talion 

canto cotan octan 
album 
it 
no 

canto cotan octan 
album 
into 

DYSFUNCTIONAL
 
NETHERMOST
 
en 
eth het 
morts storm 

ten 
eh 
morts storm 

ten 
mothers smother thermos 

hent then 
re 
mots toms 

hent then 
rem 
sot 

hent then 
metros 

stenotherm 

MALADROITNESS
 
am 
al 
dor rod 
insets steins 

am 
dal 
or 
insets steins 

am 
dal 
oestrins 

am 
lard 
nosiest 

lam 
rad 
nosiest 

lam 
orad road 
insets steins 

lam 
aroid radio 
nests 

lam 
intradoses 

alma lama 
dor rod 
insets steins 

armload 
insets steins 

SOMNAMBULISM
 
os 
man nam 
bum 
mils slim 

mos oms 
an 
bum 
mils slim 

mos oms 
man 
limbus 

mons noms 
ma 
limbus 

mons noms 
album 
mis sim 

manos mason moans monas nomas 
bum 
mils slim 


Scoring:

MINIATURIZATION:
nim, ai, ut, izar, it, no                          6 points 
UNSYMPATHETIC:
sun, my, tap, ethic                                4 points
ACQUIESCENCE:                                      0 points
NOCTAMBULATION:
on, cat, bum, al, it, no                           6 points
on, cat album, it, no              5 points
(more common words)
DYSFUNCTIONAL:                                     0 points
 
NETHERMOST: 
then, re, toms                                     3 points
MALADROITNESS:
am, al, rod, insets                                4 points
am, dal, or, insets                4 points
am, lard, nosiest                  3 poings
SOMNAMBULISM:
oms, an, bum, slim                                 4 points
moans, bum, slim                   3 points
                                                 -----------  
                                                 
                                                  27 points
                                                  
Subtract appropriately if you think al, ut, dal, or oms is too obscure.


  Posted by Charlie on 2023-09-25 14:08:12
Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (3)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2024 by Animus Pactum Consulting. All rights reserved. Privacy Information