Cody

# Problem 42497. Pancake sorting

Solution 2450415

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 = 1 5 4 3 2 part1 = 1 part2 = 2 3 4 5 stack = 1 2 3 4 5 y = 1 part1 = 1 2 3 4 5 part2 = 1×0 empty double row vector stack = 1 2 3 4 5 y = 1 5 part1 = 1 2 3 4 part2 = 5 stack = 1 2 3 4 5 y = 1 5 4 part1 = 1 2 3 part2 = 4 5 stack = 1 2 3 4 5 y = 1 5 4 3 part1 = 1 2 part2 = 3 4 5 stack = 1 2 3 4 5 y = 1 5 4 3 2

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 = 1 6 5 4 3 2 part1 = 6 4 2 5 3 1 part2 = 1×0 empty double row vector stack = 6 4 2 5 3 1 y = 6 part1 = 6 part2 = 4 2 5 3 1 stack = 6 4 2 5 3 1 y = 6 1 part1 = 6 4 2 5 part2 = 3 1 stack = 6 4 2 5 3 1 y = 6 1 4 part1 = 6 4 part2 = 2 5 3 1 stack = 6 4 2 5 3 1 y = 6 1 4 2 part1 = 6 4 2 5 3 part2 = 1 stack = 6 4 2 5 3 1 y = 6 1 4 2 5 part1 = 6 4 2 part2 = 5 3 1 stack = 6 4 2 5 3 1 y = 6 1 4 2 5 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 = 1 12 11 10 9 8 7 6 5 4 3 2 part1 = 1 part2 = 12 7 3 5 4 11 10 6 8 9 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 part1 = 1 12 part2 = 7 3 5 4 11 10 6 8 9 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 part1 = 1 12 7 3 5 4 11 part2 = 10 6 8 9 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 7 part1 = 1 12 7 3 5 4 11 10 part2 = 6 8 9 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 7 8 part1 = 1 12 7 3 5 4 11 10 6 8 9 part2 = 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 7 8 11 part1 = 1 12 7 3 5 4 11 10 6 8 part2 = 9 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 7 8 11 10 part1 = 1 12 7 part2 = 3 5 4 11 10 6 8 9 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 7 8 11 10 3 part1 = 1 12 7 3 5 4 11 10 6 part2 = 8 9 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 7 8 11 10 3 9 part1 = 1 12 7 3 5 part2 = 4 11 10 6 8 9 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 7 8 11 10 3 9 5 part1 = 1 12 7 3 5 4 part2 = 11 10 6 8 9 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 7 8 11 10 3 9 5 6 part1 = 1 12 7 3 part2 = 5 4 11 10 6 8 9 2 stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 7 8 11 10 3 9 5 6 4 part1 = 1 12 7 3 5 4 11 10 6 8 9 2 part2 = 1×0 empty double row vector stack = 1 12 7 3 5 4 11 10 6 8 9 2 y = 1 2 7 8 11 10 3 9 5 6 4 12

Assertion failed.

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

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

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 part1 = 1 part2 = 1×0 empty double row vector stack = 1 y = 1 t = 1 2 part1 = 2 1 part2 = 1×0 empty double row vector stack = 2 1 y = 2 part1 = 2 part2 = 1 stack = 2 1 y = 2 1 t = 1 3 2 part1 = 2 1 part2 = 3 stack = 2 1 3 y = 2 part1 = 2 1 3 part2 = 1×0 empty double row vector stack = 2 1 3 y = 2 3 part1 = 2 part2 = 1 3 stack = 2 1 3 y = 2 3 1

Assertion failed.