Cody

Problem 42853. Fifteen Parity Check

Created by Richard Zapor in Community

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

65.12% Correct | 34.88% Incorrect
Last solution submitted on Dec 23, 2018

Problem Comments