Cody

# Problem 42497. Pancake sorting

Solution 2450507

Submitted on 1 Jun 2020
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   Fail
x = 1:5; for spatula = sort_pancakes(x) x(1:spatula) = flip(x(1:spatula)); end assert(issorted(x))

t = 5 4 3 2 1 t = 4 3 2 1 t = 1 4 3 2 part1 = 1 part2 = 2 3 4 5 stack = 1 2 3 4 5 y = 1 part1 = 4 3 2 1 part2 = 5 stack = 4 3 2 1 5 y = 1 4 part1 = 3 4 part2 = 2 1 5 stack = 3 4 2 1 5 y = 1 4 2 part1 = 2 4 3 part2 = 1 5 stack = 2 4 3 1 5 y = 1 4 2 3

Assertion failed.

2   Fail
x = [6 4 2 5 3 1]; for spatula = sort_pancakes(x) x(1:spatula) = flip(x(1:spatula)); end assert(issorted(x))

t = 6 5 4 3 2 1 t = 5 4 3 2 1 t = 1 5 4 3 2 part1 = 1 3 5 2 4 6 part2 = 1×0 empty double row vector stack = 1 3 5 2 4 6 y = 6 part1 = 5 3 1 part2 = 2 4 6 stack = 5 3 1 2 4 6 y = 6 3 part1 = 4 2 1 3 5 part2 = 6 stack = 4 2 1 3 5 6 y = 6 3 5 part1 = 3 1 2 4 part2 = 5 6 stack = 3 1 2 4 5 6 y = 6 3 5 4 part1 = 2 1 3 part2 = 4 5 6 stack = 2 1 3 4 5 6 y = 6 3 5 4 3

Assertion failed.

3   Fail
x = randperm(12); for spatula = sort_pancakes(x) x(1:spatula) = flip(x(1:spatula)); end assert(issorted(x))

t = 12 11 10 9 8 7 6 5 4 3 2 1 t = 11 10 9 8 7 6 5 4 3 2 1 t = 1 11 10 9 8 7 6 5 4 3 2 part1 = 1 12 11 6 5 part2 = 10 3 9 2 8 7 4 stack = 1 12 11 6 5 10 3 9 2 8 7 4 y = 5 part1 = 11 12 1 part2 = 6 5 10 3 9 2 8 7 4 stack = 11 12 1 6 5 10 3 9 2 8 7 4 y = 5 3 part1 = 10 5 6 1 12 11 part2 = 3 9 2 8 7 4 stack = 10 5 6 1 12 11 3 9 2 8 7 4 y = 5 3 6 part1 = 9 3 11 12 1 6 5 10 part2 = 2 8 7 4 stack = 9 3 11 12 1 6 5 10 2 8 7 4 y = 5 3 6 8 part1 = 8 2 10 5 6 1 12 11 3 9 part2 = 7 4 stack = 8 2 10 5 6 1 12 11 3 9 7 4 y = 5 3 6 8 10 part1 = 7 9 3 11 12 1 6 5 10 2 8 part2 = 4 stack = 7 9 3 11 12 1 6 5 10 2 8 4 y = 5 3 6 8 10 11 part1 = 6 1 12 11 3 9 7 part2 = 5 10 2 8 4 stack = 6 1 12 11 3 9 7 5 10 2 8 4 y = 5 3 6 8 10 11 7 part1 = 5 7 9 3 11 12 1 6 part2 = 10 2 8 4 stack = 5 7 9 3 11 12 1 6 10 2 8 4 y = 5 3 6 8 10 11 7 8 part1 = 4 8 2 10 6 1 12 11 3 9 7 5 part2 = 1×0 empty double row vector stack = 4 8 2 10 6 1 12 11 3 9 7 5 y = 5 3 6 8 10 11 7 8 12 part1 = 3 11 12 1 6 10 2 8 4 part2 = 9 7 5 stack = 3 11 12 1 6 10 2 8 4 9 7 5 y = 5 3 6 8 10 11 7 8 12 9 part1 = 2 10 6 1 12 11 3 part2 = 8 4 9 7 5 stack = 2 10 6 1 12 11 3 8 4 9 7 5 y = 5 3 6 8 10 11 7 8 12 9 7

Assertion failed.

4   Fail
x = randperm(13); for spatula = sort_pancakes(x) x(1:spatula) = flip(x(1:spatula)); end assert(issorted(x))

t = 13 12 11 10 9 8 7 6 5 4 3 2 1 t = 12 11 10 9 8 7 6 5 4 3 2 1 t = 1 12 11 10 9 8 7 6 5 4 3 2 part1 = 1 2 8 part2 = 11 10 13 4 12 7 5 6 3 9 stack = 1 2 8 11 10 13 4 12 7 5 6 3 9 y = 3 part1 = 12 4 13 10 11 8 2 1 part2 = 7 5 6 3 9 stack = 12 4 13 10 11 8 2 1 7 5 6 3 9 y = 3 8 part1 = 11 10 13 4 12 part2 = 8 2 1 7 5 6 3 9 stack = 11 10 13 4 12 8 2 1 7 5 6 3 9 y = 3 8 5 part1 = 10 11 part2 = 13 4 12 8 2 1 7 5 6 3 9 stack = 10 11 13 4 12 8 2 1 7 5 6 3 9 y = 3 8 5 2 part1 = 9 3 6 5 7 1 2 8 12 4 13 11 10 part2 = 1×0 empty double row vector stack = 9 3 6 5 7 1 2 8 12 4 13 11 10 y = 3 8 5 2 13 part1 = 8 2 1 7 5 6 3 9 part2 = 12 4 13 11 10 stack = 8 2 1 7 5 6 3 9 12 4 13 11 10 y = 3 8 5 2 13 8 part1 = 7 1 2 8 part2 = 5 6 3 9 12 4 13 11 10 stack = 7 1 2 8 5 6 3 9 12 4 13 11 10 y = 3 8 5 2 13 8 4 part1 = 6 5 8 2 1 7 part2 = 3 9 12 4 13 11 10 stack = 6 5 8 2 1 7 3 9 12 4 13 11 10 y = 3 8 5 2 13 8 4 6 part1 = 5 6 part2 = 8 2 1 7 3 9 12 4 13 11 10 stack = 5 6 8 2 1 7 3 9 12 4 13 11 10 y = 3 8 5 2 13 8 4 6 2 part1 = 4 12 9 3 7 1 2 8 6 5 part2 = 13 11 10 stack = 4 12 9 3 7 1 2 8 6 5 13 11 10 y = 3 8 5 2 13 8 4 6 2 10 part1 = 3 9 12 4 part2 = 7 1 2 8 6 5 13 11 10 stack = 3 9 12 4 7 1 2 8 6 5 13 11 10 y = 3 8 5 2 13 8 4 6 2 10 4 part1 = 2 1 7 4 12 9 3 part2 = 8 6 5 13 11 10 stack = 2 1 7 4 12 9 3 8 6 5 13 11 10 y = 3 8 5 2 13 8 4 6 2 10 4 7

Assertion failed.

5   Fail
for k = 1:20 x = randperm(k); for spatula = sort_pancakes(x) x(1:spatula) = flip(x(1:spatula)); end assert(issorted(x)) end

t = 1 t = 1×0 empty double row vector t = 1×0 empty double row vector t = 2 1 t = 1 t = 1 part1 = 1 2 part2 = 1×0 empty double row vector stack = 1 2 y = 2 t = 3 2 1 t = 2 1 t = 1 2 part1 = 1 part2 = 3 2 stack = 1 3 2 y = 1 part1 = 2 3 1 part2 = 1×0 empty double row vector stack = 2 3 1 y = 1 3

Assertion failed.