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 Solvers25
Suggested Problems
-
2729 Solvers
-
Project Euler: Problem 7, Nth prime
1776 Solvers
-
Back to basics 8 - Matrix Diagonals
972 Solvers
-
Back to basics 16 - byte order
202 Solvers
-
Find the largest value in the 3D matrix
1685 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!