All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars
 perplexus dot info

 Big difference (Posted on 2016-02-14)
Using all integers from 1 to 20, assign them into a 5 by 4 grid so that adjacent numbers (horizontally, vertically and diagonally) will differ by at least 4.

 No Solution Yet Submitted by Ady TZIDON No Rating

Comments: ( Back to comment list | You must be logged in to post comments.)
 computer solutions | Comment 1 of 4
The first version of the below program was finding tens of thousands of solutions (minor variations, I guess you'd say) without evan exhausting those with 1 in the upper left corner (reserved for the lowest corner number in the grid, to avoid reflections and rotations).  So the version below limits the number that are found with any given lowest corner.  The highest of the lowest corners was found to be 15, though up to 17 was allowed for in the case of, say, corners being 17, 18, 19 and 20.

DefDbl A-Z
Dim crlf\$, grid(6, 5), used(20), solct, innerct

Form1.Visible = True

Text1.Text = ""
crlf = Chr\$(13) + Chr\$(10)

Open "big difference.txt" For Output As #2

For upperleft = 1 To 17
innerct = 0
Text1.Text = Text1.Text & upperleft & crlf
grid(1, 1) = upperleft
used(upperleft) = 1
used(upperleft) = 0
Next

Text1.Text = Text1.Text & crlf & solct & " done"

Close 2
End Sub

DoEvents
If innerct > 20 Then Exit Sub
For newnum = 1 To 20
If used(newnum) = 0 Then
good = 1
If row = 1 And col = 4 Or row = 5 And col = 4 Then If newnum < grid(1, 1) Then good = 0
If row = 5 And col = 1 Then If newnum < grid(1, 1) Or newnum < grid(1, 4) Then good = 0
If good Then
For dr = -1 To 1
For dc = -1 To 1
If dr <> 0 Or dc <> 0 Then
If grid(row + dr, col + dc) > 0 Then
If Abs(newnum - grid(row + dr, col + dc)) < 4 Then bad = 1: Exit For
End If
End If
Next
Next
grid(row, col) = newnum
used(newnum) = 1
If row = 5 And col = 4 Then
For r = 1 To 5
For c = 1 To 4
Print #2, mform(grid(r, c), "##0");
Next
Print #2,
Next
Print #2,
solct = solct + 1
innerct = innerct + 1
Else
r = row: c = col
c = c + 1: If c > 4 Then c = 1: r = r + 1
End If
grid(row, col) = 0
used(newnum) = 0

End If
End If
End If
Next
End Sub

Function mform\$(x, t\$)
a\$ = Format\$(x, t\$)
If Len(a\$) < Len(t\$) Then a\$ = Space\$(Len(t\$) - Len(a\$)) & a\$
mform\$ = a\$
End Function

The sampling:

`  1  5  9  2 14 18 13 17 10  3  8  4 16 20 15 19 12  6 11  7`
`  1  5  9  2 14 18 13 17 10  3  8  4 16 20 15 19 12  7 11  6`
`  1  5  9  2 14 18 13 17 10  3  8  4 19 15 20 12  6 11  7 16  2  6  1  5 17 13 19 15  9  3  7 11 18 14 20 16 10  4  8 12`
`  2  6  1  7 12 16 11 15  8 20  3 19  4 14  9 13 10 18  5 17`
`  2  6  1  7 12 16 11 15  8 20  4 19  3 14  9 13 10 18  5 17`
`  2  6  1  7 12 16 11 15  8 20  5 19  3 14  9 13 10 18  4 17`
`  3  7  1  5 12 16 11 15  8 20  6 19  4 14  2 13 10 18  9 17`
`  3  7  1  5 12 16 11 15  8 20  6 19 13  2 14 10 17  9 18  4`
`  3  7  1  5 12 16 11 19  8 20  6 15  4 13  2 10 17  9 18 14`
`  3  7  1  5 13 17 11 15  9  2  6 19 16 20 14 10 12  8  4 18`
`  3  7  1  5 16 12 17 13 20  8  2  9  4 14 19 15 18 10  6 11    4  8  1  5 13 17 12 16  9  2  6 20 14 18 11 15 10  3  7 19`
`  4  8  1  5 13 17 12 16  9  2  6 20 15 19 14 10 11  7  3 18`
`  4  8  1  5 13 17 12 16  9  2  7 20 15 19 14  3 11  6 10 18`
`  4  8  1  5 13 17 12 16  9  3  7 20 14 18 11 15 10  2  6 19`
`  4  8  1  5 13 17 12 16  9  3  7 20 14 18 11 15 10  6  2 19`
`  4  8  1  5 13 17 12 16  9  3  7 20 15 19 14  2 11  6 10 18`
`  4  8  1  5 14 18 12 16 10  6  2 20 15 19 13  9 11  7  3 17`
`  4  8  1  5 14 18 13 17 10  6  2  9 19 15 20 16  7 11  3 12      5  1  6 10 11 15 20 16 19  2  7 12  8 13 18  3 17  4  9 14`
`  5  1  6 10 11 15 20 16 19  2  7 12  9 13 18  3 17  4  8 14`
`  5  1  6 10 11 15 20 16 19  2  8 12  7 13 18  4 17  3  9 14`
`  5  1  6 10 11 15 20 16 19  3  7 12  8 13 18  2 17  4  9 14`
`  5  1  6 10 11 15 20 16 19  3  7 12  9 13 18  2 17  4  8 14`
`  5  1  6 10 11 15 20 16 19  3  8 12  7 13 18  4 17  2  9 14`
`  5  1  6 10 15 11 18 14 19  7  2  8  3 13 20 12 17  9  4 16    6  1  5  9 10 18 13 17 14  2  7  3  8 20 11 15 12 16  4 19`
`  6  1  5  9 10 18 13 17 14  2  7  3  8 20 11 19 12 16  4 15`
`  6  1  5  9 10 18 13 17 14  3  7  2  8 20 11 15 12 16  4 19`
`  6  1  5  9 10 18 13 17 14  3  7  2  8 20 11 19 12 16  4 15`
```  6  1  5  9 14 18 13 17 10  2  7  3 15 19 12 16 11  4  8 20
```
`  6  1  5  9 14 18 13 17 10  2  8  4 19 15 20 16 11  3  7 12  7  1  5  9 14 18 13 17 10  2  8  3  6 15 20 12 19 11  4 16`
`  7  1  5  9 14 18 13 17 10  2  8  3  6 15 20 16 19 11  4 12`
`  7  1  5  9 14 18 13 17 10  2  8  4  6 15 20 12 19 11  3 16`
`  7  1  5  9 14 18 13 17 10  2  8  4  6 15 20 16 19 11  3 12`
`  7  1  5  9 14 18 13 17 10  3  8  4 15 19 12 16 11  2  6 20`
`  7  1  5  9 14 18 13 17 10  3  8  4 15 19 12 16 11  6  2 20`
`  7  1  5  9 14 18 13 17 10  4  8  3 19 15 20 12 11  2  6 16    8  1  5  9 14 18 13 17 10  2  7  3  6 15 20 12 19 11  4 16`
`  8  1  5  9 14 18 13 17 10  2  7  3  6 15 20 16 19 11  4 12`
`  8  1  5  9 14 18 13 17 10  2  7  3  6 16 11 15 12 20  4 19`
`  8  1  5  9 14 18 13 17 10  2  7  3  6 16 11 19 12 20  4 15`
`  8  1  5  9 14 18 13 17 10  2  7  3  6 20 11 15 12 16  4 19`
`  8  1  5 10 17 13 18 14  4  9  2  6 16 20 15 19 12  3  7 11  9  1  5 10 15 19 14 18 11  3  8  4  7 17 12 16 13  2  6 20`
`  9  1  5 10 15 19 14 18 11  3  8  4  7 17 12 20 13  2  6 16`
`  9  1  5 10 15 19 14 18 11  7  2  6  3 17 12 16 13  8  4 20`
`  9  1  5 10 15 19 14 18 11  7  2  6  3 17 12 20 13  8  4 16`
`  9  1  5 10 17 13 18 14  3  7  2  6 11 15 20 12 19  4  8 16`
`  9  1  5 10 17 13 18 14  3  7  2  6 11 15 20 16 19  4  8 12`
`  9  1  5 10 17 13 18 14  4  8  2  6 12 20 15 11 16  3  7 19 10  1  5 11  6 14 19 15 18  2  7  3  9 13 20 12 17  4  8 16`
` 10  1  5 11  6 14 19 15 18  2  7  3  9 13 20 16 17  4  8 12`
` 10  1  5 11  6 14 19 15 18  2  8  4  9 13 20 12 17  3  7 16`
` 10  1  5 11  6 14 19 15 18  2  8  4  9 13 20 16 17  3  7 12`
` 10  1  5 11  6 14 19 15 18  2  9  4  7 13 20 16 17  3  8 12`
` 10  1  5 11  6 14 19 15 18  2  9  4  8 13 20 16 17  3  7 12`
` 10  1  5 11  6 14 20 16 18  2  7 12  8 13 19  3 17  4  9 15`
` 10  1  5 13  6 19  9 18 15  2 14  4 11  7 20  8 17  3 16 12 11  1  5 17  7 15  9 13 19  3 20  4 14 10 16  8 18  6  2 12`
` 11  1  6 15  7 18 10  2 12  3 14 19  8 20  9  5 16  4 13 17`
` 11  1  6 15  7 19 10  2 12  3 14 18  8 20  9  5 16  4 13 17`
` 11  1  6 16  5 15 20 10 19  9  2 14  4 13 18  7 17  8  3 12`
` 11  1  6 16  5 15 20 10 19  9  3 14  4 13 18  7 17  8  2 12`
` 11  1  6 16  5 15 20 10 19  9  4 14  2 13 18  8 17  7  3 12`
` 11  1  6 16  5 15 20 10 19  9  4 14  3 13 18  8 17  7  2 12`
` 11  1  7 12  5 15 20 16 19  9  2  6  3 13 18 10 17  8  4 14`
` 11  1  7 12  5 15 20 16 19  9  2  6  4 13 18 10 17  8  3 14`
` 11  1  9 15 20  5 19  4 16 10 14  8  6  2 18  3 17 13  7 12 12  1  5 13  8 19  9 18  3 15  4 14  7 11 20 10 17  2  6 16`
` 12  1  9 13 16  5 18  4 20 10 14  8  6  2 19  3 17 11  7 15`
` 12  1  9 13 18  5 19  4 14 10 15  8  6  2 20  3 17 11  7 16`
` 12  1  9 13 19  5 18  4 15 10 14  8  6  2 20  3 17 11  7 16`
` 12  1  9 13 20  5 18  4 16 10 14  8  6  2 19  3 17 11  7 15`
` 12  1  9 15 16  5 19  4 20 10 14  8  6  2 18  3 17 11  7 13`
` 12  1  9 15 20  5 19  4 16 10 14  8  6  2 18  3 17 11  7 13`
` 12  3  7 15  8 16 11 19  4 20  2  6 13  9 14 10 17  5  1 18 13  1 10 14  5 19  6  2  9 15 11 17  4 20  3  7 16  8 12 18`
` 13  1 10 14  5 19  6  2  9 15 11 18  4 20  3  7 16  8 12 17`
` 13  2  6 15  9 17 11 19  5  1  7  3 10 14 20 12 18  4  8 16`
` 13  2  7 17  9 18 12  3  5  1  8 16 11 15 20  4 19  6 10 14`
` 13  2  7 18  9 17 12  3  5  1  8 16 11 15 20  4 19  6 10 14`
` 13  2  8 16  6 17 12 20 10  1  7  3  5 14 19 11 18  9  4 15`
` 13  2  8 17  6 18 12  3 10  1  7 16  5 14 20 11 19  9  4 15`
` 13  3  7 18  9 17 11  2  5  1  6 15 16 12 19 10 20  8  4 14   14  2  6 15 10 18 11 19  5  1  7  3  9 13 20 12 17  4  8 16`
` 14  3  7 15 10 18 11 19  2  6  1  5 12 20 13  9 16  8  4 17`
` 14  3  7 15 10 18 11 19  5  1  6  2  9 13 20 12 17  4  8 16`
` 14  4  8 16 10 18 12 20  5  1  6  2  9 13 19 11 17  3  7 15`
` 14  4  8 16 10 18 12 20  5  1  7  3  9 13 19 11 17  2  6 15`
` 14  4  8 17 10 18 12  2  5  1  6 16  9 13 20 11 19  3  7 15`
` 14  4  8 17 10 18 12  3  5  1  7 16  9 13 20 11 19  2  6 15`
` 14  5  9 15 10  1 19  4 17  6 13  8 12  2 20  3 18  7 11 16 15  5  9 17 11  1 13  3 16  7 18  8 12  2 14  4 19  6 10 20`
` 15  5  9 17 11  1 13  3 16  7 18  8 12  2 14  4 20  6 10 19`
` 15  5  9 17 11  1 13  3 16  7 19  8 12  2 14  4 18  6 10 20`
` 15  5  9 17 11  1 13  3 16  7 19  8 12  2 14  4 20  6 10 18`
` 15  5  9 17 11  1 13  3 16  7 20  8 12  2 14  4 18  6 10 19`
` 15  5  9 17 11  1 13  3 16  7 20  8 12  2 14  4 19  6 10 18`
` 15  5  9 17 11  1 13  4  7 18  8 19  3 14  2 12 20 10  6 16`
` 15  5  9 17 11  1 13  4  7 18  8 20  3 14  2 12 19 10  6 16`
` 15  5  9 17 11  1 13  4 19  7 18  8  3 14  2 12 20 10  6 16`

 Posted by Charlie on 2016-02-14 15:03:30

 Search: Search body:
Forums (0)