Feu un programa que trobi totes les solucions d’un conjunt de clàusules de tres literals en forma normal conjuntiva.
Per exemple, $\{a = \mbox{\em cert}, b = \mbox{\em fals}, c = \mbox{\em cert}, d = \mbox{\em cert}\}$ és una solució possible per a les tres clàusules
Com un altre exemple, $\{a = \mbox{\em cert}, b = \mbox{\em fals}\}$ és una solució possible per a la clàusula Sent rigurosos, aquesta clàusula no té tres literals (de fet és igual a cert, que no en té cap), però en aquest exercici permetem tenir literals repetits dins de la mateixa clàusula.
L’entrada consisteix en un natural , seguit d’un natural , seguit de . Els noms de les variables són les primeres lletres minúscules, totes les quals apareixen a l’entrada com a mínim una vegada. Els literals negats s’indiquen amb un canvi de signe davant de la variable.
Escriviu totes les solucions possibles del conjunt de clàusules. Els literals de cada solució han de sortir en ordre alfabètic. Si no hi ha cap solució, escriviu un guió.
Podeu escriure les solucions d’aquest exercici en qualsevol ordre.
Input
4 7 a b c -a -d c a c c -c b -b a -b -c -b -c -d -d -d -d
Output
a b c -d a b -c -d a -b c -d a -b -c -d -a -b c -d
Input
3 5 c c a a b -c -a b b -b -b -b -c -c -b
Output
-