··· http://rosettacode.org/wiki/ABC_Problem ··· import java.util.Arrays import java.util.Collections import java.util.List ■ ABC § static ▶ main • args⦂ String[] blocks⦂ List⟨String⟩: Arrays.asList "BO", "XK", "DQ", "CP", "NA", "GT", "RE", "TG", "QD", "FS", "JW", "HU", "VI", "AN", "OB", "ER", "FS", "LY", "PC", "ZM" words⦂ List⟨String⟩: Arrays.asList "A", "BARK", "BOOK", "TREAT", "COMMON", "SQUAD", "CONFUSE" for each word in words System.out.println "⸨word⸩: ⸨canMakeWord word, blocks⸩" ▶ canMakeWord⦂ boolean • word⦂ String • blocks⦂ List⟨String⟩ if word.isEmpty° return true for each block #i in blocks⦂ String if 0 ≤ block.indexOf word.charAt 0 Collections.swap blocks, 0, i if canMakeWord (word.substring 1), blocks.subList 1, blocks.size° return true Collections.swap blocks, 0, i return false