The Matlab function fifteen initializes the 4x4 array with randperm(16), which produces 50% unsolvable puzzles. A two stage parity check from wikipedia details the method of distance of the empty cell to index 16 plus the number of swaps to produce a 1:16 sequence must be Even to be a valid puzzle. The 16 is the empty space.
Given a 4x4 matrix determine if it is valid(1) or invalid(0).
1 2 3 4 1 2 3 4 5 6 7 8 5 6 7 8 9 10 11 12 9 10 11 12 13 15 14 16 Invalid(0) 13 14 16 15 Valid(1)
Who can come up with the best fifteen_check to fix the fifteen function?
Solution Stats
Problem Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers23
Suggested Problems
-
290 Solvers
-
given 3 sides, find area of this triangle
821 Solvers
-
Increment a number, given its digits
688 Solvers
-
Project Euler: Problem 16, Sums of Digits of Powers of Two
181 Solvers
-
151 Solvers
More from this Author306
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!