fork download
  1. color(red).
  2. color(green).
  3. color(blue).
  4. color(yellow).
  5.  
  6. adjacent(鶴見, 神奈川).
  7. adjacent(神奈川, 西).
  8. adjacent(西,).
  9. adjacent(,).
  10. adjacent(, 港南).
  11. adjacent(港南, 磯子).
  12. adjacent(磯子, 金沢).
  13. adjacent(金沢,).
  14. adjacent(, 港南).
  15. adjacent(, 保土ケ谷).
  16. adjacent(保土ケ谷, 西).
  17. adjacent(保土ケ谷,).
  18. adjacent(, 瀬谷).
  19. adjacent(瀬谷,).
  20. adjacent(, 戸塚).
  21. adjacent(戸塚,).
  22. adjacent(都筑, 港北).
  23. adjacent(都筑, 青葉).
  24. adjacent(都筑,).
  25. adjacent(港北, 神奈川).
  26. adjacent(, 青葉).
  27. adjacent(港北, 鶴見).
  28. adjacent(保土ケ谷,).
  29.  
  30. % 出力用
  31. print_colors([]).
  32. print_colors([-| 残り]) :-
  33. write(), write(' -> '), write(), nl,
  34. print_colors(残り).
  35.  
  36. % 実行ゴール
  37. :-
  38. Vars = [
  39. 鶴見-A, 神奈川-B, 西-C,-D,-E, 港南-F,
  40. 磯子-G, 金沢-H,-I, 保土ケ谷-J,-K, 瀬谷-L,
  41. -M, 戸塚-N, 都筑-O, 港北-P,-Q, 青葉-R
  42. ],
  43. member(鶴見-A, Vars), color(A),
  44. member(神奈川-B, Vars), color(B),
  45. member(西-C, Vars), color(C),
  46. member(-D, Vars), color(D),
  47. member(-E, Vars), color(E),
  48. member(港南-F, Vars), color(F),
  49. member(磯子-G, Vars), color(G),
  50. member(金沢-H, Vars), color(H),
  51. member(-I, Vars), color(I),
  52. member(保土ケ谷-J, Vars), color(J),
  53. member(-K, Vars), color(K),
  54. member(瀬谷-L, Vars), color(L),
  55. member(-M, Vars), color(M),
  56. member(戸塚-N, Vars), color(N),
  57. member(都筑-O, Vars), color(O),
  58. member(港北-P, Vars), color(P),
  59. member(-Q, Vars), color(Q),
  60. member(青葉-R, Vars), color(R),
  61.  
  62. % 隣接制約
  63. forall((adjacent(X, Y), member(X-C1, Vars), member(Y-C2, Vars)), C1 \= C2),
  64.  
  65. write('4色で塗り分け可能'), nl,
  66. print_colors(Vars).
  67.  
Success #stdin #stdout #stderr 5s 7188KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
ERROR: /home/mIIGih/prog:37:
	adjacent/2: Caught signal 24 (xcpu)
Warning: /home/mIIGih/prog:37:
	Goal (directive) failed: user:(_1356=[鶴見-_1360,神奈川-_1364,西-_1368,中-_1372,南-_1376,港南-_1380,磯子-_1384,金沢-_1388,栄-_1392,保土ケ谷-_1396,旭-_1400,瀬谷-_1404,泉-_1408,戸塚-_1412,都筑-_1416,港北-_1420,緑-_1424,青葉-_1428],member(鶴見-_1360,_1356),color(_1360),member(神奈川-_1364,_1356),color(_1364),member(西-_1368,_1356),color(_1368),member(中-_1372,_1356),color(_1372),member(南-_1376,_1356),color(_1376),member(港南-_1380,_1356),color(_1380),member(磯子-_1384,_1356),color(_1384),member(金沢-_1388,_1356),color(_1388),member(栄-_1392,_1356),color(_1392),member(保土ケ谷-_1396,_1356),color(_1396),member(旭-_1400,_1356),color(_1400),member(瀬谷-_1404,_1356),color(_1404),member(泉-_1408,_1356),color(_1408),member(戸塚-_1412,_1356),color(_1412),member(都筑-_1416,_1356),color(_1416),member(港北-_1420,_1356),color(_1420),member(緑-_1424,_1356),color(_1424),member(青葉-_1428,_1356),color(_1428),forall((adjacent(_1432,_1436),member(_1432-_1440,_1356),member(_1436-_1444,_1356)),_1440\=_1444),write('4色で塗り分け可能'),nl,print_colors(_1356))
ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? EOF: exit