Clojure — Parèntesis amb Backtracking

Implementeu una funcions solucions que ens doni totes les permutacions
correctes de n parells de parèntesis tot seguint l’esquema backtracking
descrit als apunts de l’assignatura.

Recordeu afegir al vostre codi solució el següent:

    (defn bTck [succ obj]   ;; ja coneixeu flip i foldr, les fem servir aquí
      (letfn [(bTck' [v]
                (cond
                  (empty? v)     []
                  (obj (peek v)) (conj (bTck' (pop v)) (peek v))
                  :else          (let [x (peek v)]
                                   (recur (foldr (flip conj) (pop v) (succ x))))))]
        (fn [inicial]
          (bTck' [inicial]))))

Informació del problema

Autoria: Gerard Escudero

Generació: 2026-01-25T12:43:36.389Z

© Jutge.org, 2006–2026.
https://jutge.org
