Cody

Problem 753. Solitaire Cipher

Solution 2102243

Submitted on 22 Jan 2020 by Asif Newaz
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
deck = 1:28; n = 10; out = [3 22 9 4 23 7 25 16 14 14]; assert(isequal(solitaire(deck, n),out))

deck = 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 28 27 b = 27 deck = 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 27 deck = 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 deck = 28 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 deck = 1 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 deck = 1 28 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 deck = 28 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 1 deck = 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 28 27 1 b = 26 deck = 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 27 1 deck = 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 1 1 deck = 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 1 28 deck = 27 1 28 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 deck = 25 1 27 28 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 b = 4 deck = 25 1 27 2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 deck = 25 1 27 2 3 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 deck = 25 1 27 2 3 28 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 deck = 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 2 3 28 25 1 deck = 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 2 27 3 28 25 4 1 b = 25 deck = 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 2 27 3 25 25 4 1 deck = 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 2 27 3 25 4 4 1 deck = 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 2 27 3 25 4 28 1 deck = 1 27 3 25 4 28 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 2 deck = 3 25 4 28 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 27 b = 4 deck = 3 25 4 5 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 27 deck = 3 25 4 5 6 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 27 deck = 3 25 4 5 6 28 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 27 deck = 28 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 27 3 25 4 5 6 deck = 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 3 27 25 4 5 28 7 8 9 10 11 6 b = 22 deck = 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 3 27 25 4 5 7 7 8 9 10 11 6 deck = 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 3 27 25 4 5 7 8 8 9 10 11 6 deck = 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 3 27 25 4 5 7 8 28 9 10 11 6 deck = 9 10 11 6 27 25 4 5 7 8 28 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 3 deck = 6 25 27 4 5 7 8 28 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 b = 8 deck = 6 25 27 4 5 7 8 12 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 deck = 6 25 27 4 5 7 8 12 13 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 deck = 6 25 27 4 5 7 8 12 13 28 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 deck = 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 27 4 5 7 8 12 13 28 6 25 deck = 28 6 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 4 27 5 7 8 12 13 25 b = 1 deck = 6 6 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 4 27 5 7 8 12 13 25 deck = 6 14 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 4 27 5 7 8 12 13 25 deck = 6 14 28 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 4 27 5 7 8 12 13 25 deck = 5 7 8 12 13 25 28 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 4 27 6 14 deck = 22 23 24 26 1 2 9 10 11 3 4 6 27 5 7 8 12 13 25 28 15 16 17 18 19 20 21 14 b = 20 deck = 22 23 24 26 1 2 9 10 11 3 4 6 27 5 7 8 12 13 25 15 15 16 17 18 19 20 21 14 deck = 22 23 24 26 1 2 9 10 11 3 4 6 27 5 7 8 12 13 25 15 16 16 17 18 19 20 21 14 deck = 22 23 24 26 1 2 9 10 11 3 4 6 27 5 7 8 12 13 25 15 16 28 17 18 19 20 21 14 deck = 17 18 19 20 21 14 27 5 7 8 12 13 25 15 16 28 22 23 24 26 1 2 9 10 11 3 4 6 deck = 5 27 7 8 12 13 25 15 16 28 22 23 24 26 1 2 9 10 11 3 4 17 18 19 20 21 14 6 b = 10 deck = 5 27 7 8 12 13 25 15 16 22 22 23 24 26 1 2 9 10 11 3 4 17 18 19 20 21 14 6 deck = 5 27 7 8 12 13 25 15 16 22 23 23 24 26 1 2 9 10 11 3 4 17 18 19 20 21 14 6 deck = 5 27 7 8 12 13 25 15 16 22 23 28 24 26 1 2 9 10 11 3 4 17 18 19 20 21 14 6 deck = 24 26 1 2 9 10 11 3 4 17 18 19 20 21 14 6 27 7 8 12 13 25 15 16 22 23 28 5

2   Pass
deck = 1:28; n = 9; out = [3 22 9 4 23 7 25 16 14]; assert(isequal(solitaire(deck, n),out))

deck = 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 28 27 b = 27 deck = 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 27 deck = 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 deck = 28 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 deck = 1 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 deck = 1 28 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 deck = 28 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 1 deck = 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 28 27 1 b = 26 deck = 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 27 1 deck = 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 1 1 deck = 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 1 28 deck = 27 1 28 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 deck = 25 1 27 28 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 b = 4 deck = 25 1 27 2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 deck = 25 1 27 2 3 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 deck = 25 1 27 2 3 28 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 deck = 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 2 3 28 25 1 deck = 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 2 27 3 28 25 4 1 b = 25 deck = 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 2 27 3 25 25 4 1 deck = 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 2 27 3 25 4 4 1 deck = 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 2 27 3 25 4 28 1 deck = 1 27 3 25 4 28 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 2 deck = 3 25 4 28 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 27 b = 4 deck = 3 25 4 5 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 27 deck = 3 25 4 5 6 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 27 deck = 3 25 4 5 6 28 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 27 deck = 28 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 27 3 25 4 5 6 deck = 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 3 27 25 4 5 28 7 8 9 10 11 6 b = 22 deck = 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 3 27 25 4 5 7 7 8 9 10 11 6 deck = 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 3 27 25 4 5 7 8 8 9 10 11 6 deck = 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 3 27 25 4 5 7 8 28 9 10 11 6 deck = 9 10 11 6 27 25 4 5 7 8 28 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 3 deck = 6 25 27 4 5 7 8 28 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 b = 8 deck = 6 25 27 4 5 7 8 12 12 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 deck = 6 25 27 4 5 7 8 12 13 13 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 deck = 6 25 27 4 5 7 8 12 13 28 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 deck = 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 27 4 5 7 8 12 13 28 6 25 deck = 28 6 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 4 27 5 7 8 12 13 25 b = 1 deck = 6 6 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 4 27 5 7 8 12 13 25 deck = 6 14 14 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 4 27 5 7 8 12 13 25 deck = 6 14 28 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 4 27 5 7 8 12 13 25 deck = 5 7 8 12 13 25 28 15 16 17 18 19 20 21 22 23 24 26 1 2 9 10 11 3 4 27 6 14 deck = 22 23 24 26 1 2 9 10 11 3 4 6 27 5 7 8 12 13 25 28 15 16 17 18 19 20 21 14 b = 20 deck = 22 23 24 26 1 2 9 10 11 3 4 6 27 5 7 8 12 13 25 15 15 16 17 18 19 20 21 14 deck = 22 23 24 26 1 2 9 10 11 3 4 6 27 5 7 8 12 13 25 15 16 16 17 18 19 20 21 14 deck = 22 23 24 26 1 2 9 10 11 3 4 6 27 5 7 8 12 13 25 15 16 28 17 18 19 20 21 14 deck = 17 18 19 20 21 14 27 5 7 8 12 13 25 15 16 28 22 23 24 26 1 2 9 10 11 3 4 6