Cody

# Problem 487. Find perfect placement of non-rotating dominoes (easier)

Solution 1848981

Submitted on 13 Jun 2019 by stle
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
list = [ 1 5 2 1 2 2 3 2 4 8 5 4 5 5 10 3]; correct = [8 4 3 2 1 7 6 5]; assert(isequal(findPerfectOrderedDominoes(list),correct))

first = 1 last = 5 f1 = 6 7 f4 = 2 f1 = 7 last = 5 list = NaN NaN 2 1 2 2 3 2 4 8 5 4 NaN NaN 10 3 order = 1 7 f1 = 6 f4 = [] f1 = 6 last = 4 list = NaN NaN 2 1 2 2 3 2 4 8 NaN NaN NaN NaN 10 3 order = 1 7 6 f1 = 5 f4 = [] f1 = 5 last = 8 list = NaN NaN 2 1 2 2 3 2 NaN NaN NaN NaN NaN NaN 10 3 order = 1 7 6 5 f1 = 0×1 empty double column vector f2 = 2 hlist = 2 f3 = [] f2 = 2 first = 2 order = 2 1 7 6 5 list = NaN NaN NaN NaN 2 2 3 2 NaN NaN NaN NaN NaN NaN 10 3 f1 = 0×1 empty double column vector f2 = 3 4 hlist = 2 3 f3 = 1 f2 = 3 first = 2 order = 3 2 1 7 6 5 list = NaN NaN NaN NaN NaN NaN 3 2 NaN NaN NaN NaN NaN NaN 10 3 f1 = 0×1 empty double column vector f2 = 4 hlist = 3 f3 = [] f2 = 4 first = 3 order = 4 3 2 1 7 6 5 list = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 10 3 f1 = 0×1 empty double column vector f2 = 8 hlist = 10 f3 = [] f2 = 8 first = 10 order = 8 4 3 2 1 7 6 5 list = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

2   Pass
list = [ 1 6 2 2 2 7 7 1 7 8 8 10 10 2 10 10]; correct = [5 6 8 7 2 3 4 1]; assert(isequal(findPerfectOrderedDominoes(list),correct))

first = 1 last = 6 f1 = 0×1 empty double column vector f2 = 4 hlist = 7 f3 = [] f2 = 4 first = 7 order = 4 1 list = NaN NaN 2 2 2 7 NaN NaN 7 8 8 10 10 2 10 10 f1 = 0×1 empty double column vector f2 = 3 hlist = 2 f3 = [] f2 = 3 first = 2 order = 3 4 1 list = NaN NaN 2 2 NaN NaN NaN NaN 7 8 8 10 10 2 10 10 f1 = 0×1 empty double column vector f2 = 2 7 hlist = 2 10 f3 = 1 f2 = 2 first = 2 order = 2 3 4 1 list = NaN NaN NaN NaN NaN NaN NaN NaN 7 8 8 10 10 2 10 10 f1 = 0×1 empty double column vector f2 = 7 hlist = 10 f3 = [] f2 = 7 first = 10 order = 7 2 3 4 1 list = NaN NaN NaN NaN NaN NaN NaN NaN 7 8 8 10 NaN NaN 10 10 f1 = 0×1 empty double column vector f2 = 6 8 hlist = 8 10 f3 = 2 f2 = 8 first = 10 order = 8 7 2 3 4 1 list = NaN NaN NaN NaN NaN NaN NaN NaN 7 8 8 10 NaN NaN NaN NaN f1 = 0×1 empty double column vector f2 = 6 hlist = 8 f3 = [] f2 = 6 first = 8 order = 6 8 7 2 3 4 1 list = NaN NaN NaN NaN NaN NaN NaN NaN 7 8 NaN NaN NaN NaN NaN NaN f1 = 0×1 empty double column vector f2 = 5 hlist = 7 f3 = [] f2 = 5 first = 7 order = 5 6 8 7 2 3 4 1 list = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

3   Pass
list = [1 1 1 7 2 4 4 6 5 1 6 2 7 4 7 5]; correct = [8 5 1 2 7 4 6 3]; assert(isequal(findPerfectOrderedDominoes(list),correct))

first = 1 last = 1 f1 = 2 f4 = [] f1 = 2 last = 7 list = NaN NaN NaN NaN 2 4 4 6 5 1 6 2 7 4 7 5 order = 1 2 f1 = 7 8 f4 = 0×1 empty double column vector f1 = 7 last = 4 list = NaN NaN NaN NaN 2 4 4 6 5 1 6 2 NaN NaN 7 5 order = 1 2 7 f1 = 4 f4 = [] f1 = 4 last = 6 list = NaN NaN NaN NaN 2 4 NaN NaN 5 1 6 2 NaN NaN 7 5 order = 1 2 7 4 f1 = 6 f4 = [] f1 = 6 last = 2 list = NaN NaN NaN NaN 2 4 NaN NaN 5 1 NaN NaN NaN NaN 7 5 order = 1 2 7 4 6 f1 = 3 f4 = [] f1 = 3 last = 4 list = NaN NaN NaN NaN NaN NaN NaN NaN 5 1 NaN NaN NaN NaN 7 5 order = 1 2 7 4 6 3 f1 = 0×1 empty double column vector f2 = 5 hlist = 5 f3 = [] f2 = 5 first = 5 order = 5 1 2 7 4 6 3 list = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 7 5 f1 = 0×1 empty double column vector f2 = 8 hlist = 7 f3 = [] f2 = 8 first = 7 order = 8 5 1 2 7 4 6 3 list = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

4   Pass
list = [1 10 3 10 5 3 6 9 7 6 8 7 8 8 9 1 10 5]; correct = [7 6 5 4 8 1 9 3 2]; assert(isequal(findPerfectOrderedDominoes(list),correct))

first = 1 last = 10 f1 = 9 f4 = [] f1 = 9 last = 5 list = NaN NaN 3 10 5 3 6 9 7 6 8 7 8 8 9 1 NaN NaN order = 1 9 f1 = 3 f4 = [] f1 = 3 last = 3 list = NaN NaN 3 10 NaN NaN 6 9 7 6 8 7 8 8 9 1 NaN NaN order = 1 9 3 f1 = 2 f4 = [] f1 = 2 last = 10 list = NaN NaN NaN NaN NaN NaN 6 9 7 6 8 7 8 8 9 1 NaN NaN order = 1 9 3 2 f1 = 0×1 empty double column vector f2 = 8 hlist = 9 f3 = [] f2 = 8 first = 9 order = 8 1 9 3 2 list = NaN NaN NaN NaN NaN NaN 6 9 7 6 8 7 8 8 NaN NaN NaN NaN f1 = 0×1 empty double column vector f2 = 4 hlist = 6 f3 = [] f2 = 4 first = 6 order = 4 8 1 9 3 2 list = NaN NaN NaN NaN NaN NaN NaN NaN 7 6 8 7 8 8 NaN NaN NaN NaN f1 = 0×1 empty double column vector f2 = 5 hlist = 7 f3 = [] f2 = 5 first = 7 order = 5 4 8 1 9 3 2 list = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8 7 8 8 NaN NaN NaN NaN f1 = 0×1 empty double column vector f2 = 6 hlist = 8 f3 = [] f2 = 6 first = 8 order = 6 5 4 8 1 9 3 2 list = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 8 8 NaN NaN NaN NaN f1 = 0×1 empty double column vector f2 = 7 hlist = 8 f3 = 1 f2 = 7 first = 8 order = 7 6 5 4 8 1 9 3 2 list = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN