Clojure — Parèntesis amb Backtracking

Implementeu una funcions solucions que ens doni totes les permutacions correctes de nn 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