Un sistema d’equacions simbòliques és un conjunt d’equacions , on , , …, són variables i és un símbol que representa a una funció arbitrària de arguments (direm que té aritat ). Una solució d’un sistema amb variables és qualsevol assignació d’expressions a variables de manera que per tota equació , es compleix .
Feu un programa que, donat un sistema d’equacions simbòliques, en calculi la solució més general, o digui si no en té.
L’entrada consisteix en diversos casos, cadascun amb , seguida de les variables en ordre lexicogràfic, seguides del nombre d’equacions , seguida de equacions en el format dels exemples. Les variables i les funcions són paraules amb lletres minúscules, totes diferents. Cada variable apareix com a molt un cop a la banda esquerra d’una equació. Cada funció pot aparèixer diversos cops, però sempre amb la mateixa aritat, entre 1 i . Tots els arguments de la mateixa funció són variables diferents. Podeu suposar .
Escriviu, en ordre lexicogràfic de les variables, la solució més general del sistema, seguint el format dels exemples. Escriviu una línia buida al final de cada cas.
Inspireu-vos en l’ordenació topològica.
Input
3 x y z 2 z = f ( x y ) y = h ( x ) 1 x 1 x = f ( x ) 2 xx yy 2 xx = ff ( yy ) yy = ff ( xx ) 2 abc z 0 6 uu uv w x y z 4 x = f ( uv ) y = gg ( x z ) w = gg ( uv y ) uu = gh ( uv )
Output
x -> x y -> h ( x ) z -> f ( x h ( x ) ) No solution! No solution! abc -> abc z -> z uu -> gh ( uv ) uv -> uv w -> gg ( uv gg ( f ( uv ) z ) ) x -> f ( uv ) y -> gg ( f ( uv ) z ) z -> z