3-SAT

Feu un programa que compti totes les solucions d’un conjunt d’m
clàusules c₁, …, c_(m) de tres literals en forma normal conjuntiva.

Per exemple, considereu les tres clàusules
a ∨ b ∨ c, ¬a ∨ b ∨ c, b ∨ ¬c ∨ d .
(Aquest és el primer exemple de l’entrada.) Hi ha 10 solucions
possibles, una de les quals és
{a = cert, b = fals, c = cert, d = cert}

Entrada

L’entrada consisteix en diversos casos, cadascun amb el nombre de
variables n i el nombre de clàusules m, seguides de les m clàusules.
Cada clàusula es defineix amb una paraula amb tres lletres diferents
d’entre les n primeres de l’alfabet. Les lletres majúscules indiquen
variables tal qual, i les minúscules variables negades.

Podeu suposar 3 ≤ n ≤ 26, 1 ≤ m ≤ 100, que les lletres dins de cada
clàusula estan ordenades entre si, que no hi ha clàusules repetides, que
cada variable apareix en almenys una clàusula, i que sempre hi haurà
alguna solució.

Sortida

Per a cada cas, escriviu el nombre de solucions del conjunt de
clàusules.

Pista

La solució esperada per a aquest problema és un backtracking
conceptualment simple.

Informació del problema

Autoria: Salvador Roura

Generació: 2026-01-25T10:20:37.261Z

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