Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Student exercise profile
- :- set_prolog_flag(occurs_check, error). % disallow cyclic terms
- :- set_prolog_stack(global, limit(8 000 000)). % limit term space (8Mb)
- :- set_prolog_stack(local, limit(2 000 000)). % limit environment space
- % Your program goes here
- /** <examples> Your example queries go here, e.g.
- ?- member(X, [cat, mouse]).
- */
- solve(Szakok, aV, aK, aE, aS, bV, bK, bE, bS, cV, cK, cE, cS, dV, dK, dE, dS, eV, eK, eE, eS):-
- clues(Szakok),
- queries(Szakok, aV, aK, aE, aS, bV, bK, bE, bS, cV, cK, cE, cS, dV, dK, dE, dS, eV, eK, eE, eS).
- clues(Szakok):-
- hallgato(A, Szakok), vezeteknev(A, fenyvesi), (keresztnev(A, edina); keresztnev(A, frida); keresztnev(A, gabriella)), szak(A, jog), not(egyetem(A, debrecen)), /* 1 */
- hallgato(B, Szakok), keresztnev(B, józsef), not(vezeteknev(B, gallyas)), egyetem(B, budapest), not(szak(B, biológia)), /* 2 */
- hallgato(C, Szakok), vezeteknev(C, vadkerti), keresztnev(C, gabriella), not(egyetem(C, szeged)), not(szak(C, kémia)), /* 3 */
- hallgato(T, Szakok), egyetem(T, szeged), szak(T, kémia), /* 3 */
- hallgato(D, Szakok), vezeteknev(D, jeney), egyetem(D, pécs), not(keresztnev(D, vince)), /* 4 */
- hallgato(E, Szakok), keresztnev(E, frida), szak(E, magyar), /* 5 */
- hallgato(F, Szakok), keresztnev(F, edina), (vezeteknev(F, egressy); egyetem(F, miskolc)), /* 6 */
- hallgato(G, Szakok), szak(G, informatikus), (keresztnev(G, józsef); keresztnev(G, vince)). /* 7 */
- queries(Szakok, aV, aK, aE, aS, bV, bK, bE, bS, cV, cK, cE, cS, dV, dK, dE, dS, eV, eK, eE, eS):-
- hallgato(W, Szakok), vezeteknev(W, aV), keresztnev(W, aK), egyetem(W, aE), szak(W, aS),
- hallgato(X, Szakok), vezeteknev(X, bV), keresztnev(X, bK), egyetem(X, bE), szak(X, bS),
- hallgato(Y, Szakok), vezeteknev(Y, cV), keresztnev(Y, cK), egyetem(Y, cE), szak(Y, cS),
- hallgato(Z, Szakok), vezeteknev(Z, dV), keresztnev(Z, dK), egyetem(Z, dE), szak(Z, dS),
- hallgato(Zs, Szakok), vezeteknev(Zs, eV), keresztnev(Zs, eK), egyetem(Zs, eE), szak(Zs, eS).
- vezeteknev(hallgato(V,_,_,_), V).
- szak(hallgato(_,S,_,_), S).
- egyetem(hallgato(_,_,E,_), E).
- keresztnev(hallgato(_,_,_,K), K).
- hallgato(X, szakok(X,_,_,_)).
- hallgato(X, szakok(_,X,_,_)).
- hallgato(X, szakok(_,_,X,_)).
- hallgato(X, szakok(_,_,_,X)).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement