This repository has been archived by the owner on Mar 19, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
problemset.pl
119 lines (105 loc) · 2.83 KB
/
problemset.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
:- discontiguous problem/5.
:- discontiguous solution/2.
problem(1,
[1,2,3],
[1,1,2,2],
[3,0,1,2],
[[_,_,_,_],
[_,_,_,_],
[_,_,_,_],
[_,_,_,_]]).
solution(1,
[[0,0,1,0],
[1,0,0,0],
[1,0,0,1],
[1,0,0,1]]).
% more than one solution
problem(2,
[1,1,1,1],
[1,1,1,1],
[1,1,1,1],
[[_,_,_,_],
[_,_,_,_],
[_,_,_,_],
[_,_,_,_]]).
solution(2,
[[0,1,0,0],
[0,0,0,1],
[1,0,0,0],
[0,0,1,0]]).
solution(2,
[[0,0,1,0],
[1,0,0,0],
[0,0,0,1],
[0,1,0,0]]).
% no solution
problem(3,
[1,2,3],
[1,1,2,2],
[3,0,1,2],
[[_,_,0,_],
[1,_,_,_],
[_,_,_,_],
[_,_,_,_]]).
% https://puzzlemadness.co.uk/battleships/small/2020/5/19
problem(4,
[1, 1, 1, 2, 2, 3],
[1, 2, 2, 2, 2, 1],
[0, 4, 0, 4, 0, 2],
[[_, _, _, _, _, _],
[_, _, _, 0, _, _],
[_, _, _, 1, _, 0],
[_, _, _, 1, 0, 1],
[_, _, _, _, _, 0],
[_, _, _, _, _, _]]).
solution(4,
[[0, 0, 0, 1, 0, 0],
[0, 1, 0, 0, 0, 1],
[0, 1, 0, 1, 0, 0],
[0, 0, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 0],
[0, 1, 0, 0, 0, 0]]).
% https://puzzlemadness.co.uk/battleships/small/2020/6/1
problem(5,
[1, 1, 1, 2, 2, 2, 3],
[0, 3, 2, 3, 1, 1, 2],
[2, 1, 3, 1, 2, 1, 2],
[[_, _, _, _, _, _, _],
[_, _, _, _, _, _, _],
[_, _, _, _, _, _, _],
[_, _, _, 0, _, 0, _],
[0, _, _, _, 0, 1, 0],
[1, 0, _, _, _, 0, _],
[0, _, _, _, _, _, _]]).
solution(5,
[[0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 1, 0, 1],
[0, 0, 0, 0, 1, 0, 1],
[1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0],
[1, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 1, 0, 0, 0]).
% https://puzzlemadness.co.uk/battleships/medium/2020/05/20
problem(6,
[1, 1, 1, 2, 2, 2, 3, 3, 4],
[1, 3, 3, 2, 4, 1, 0, 4, 1],
[1, 3, 2, 4, 0, 5, 1, 2, 1],
[[_, _, _, _, _, _, _, _, _],
[1, 1, _, _, _, 1, _, _, _],
[_, _, _, _, _, 1, _, _, _],
[_, _, _, _, _, 1, _, _, 0],
[_, 1, _, _, _, _, _, 0, 1],
[_, 1, _, _, _, _, _, _, 0],
[_, 0, _, _, _, _, _, _, _],
[_, _, _, _, _, _, _, _, _],
[_, _, _, _, _, _, _, _, _]]).
solution(6,
[[0, 0, 0, 1, 0, 0, 0, 0, 0],
[1, 1, 0, 0, 0, 1, 0, 1, 0],
[0, 0, 0, 1, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 1, 0, 0, 0],
[0, 1, 0, 1, 0, 1, 0, 0, 1],
[0, 1, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 1, 1, 1, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 0]]).