Cody

# Problem 1506. Maximum Intra-Vector Swaps

Solution 243865

Submitted on 14 May 2013
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
tic feval(@assignin,'caller','score',2000);

``` ```

2   Fail
%% % 2 1 global cseq cseq{1}=1; % Gift answer max_seq=find_max_swap_seq(2); assert(isequal(1:2,unique(max_seq))) cseq{2}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

3   Fail
%% % 3 2 global cseq max_seq=find_max_swap_seq(3); assert(isequal(1:3,unique(max_seq))) cseq{3}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

4   Fail
%% % 4 4 global cseq max_seq=find_max_swap_seq(4); assert(isequal(1:4,unique(max_seq))) cseq{4}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

5   Fail
%% % 5 7 global cseq max_seq=find_max_swap_seq(5); assert(isequal(1:5,unique(max_seq))) cseq{5}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

6   Fail
%% % 6 10 global cseq max_seq=find_max_swap_seq(6); assert(isequal(1:6,unique(max_seq))) cseq{6}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

7   Fail
%% % 7 16 global cseq max_seq=find_max_swap_seq(7); assert(isequal(1:7,unique(max_seq))) cseq{7}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

8   Fail
%% % 8 22 global cseq max_seq=find_max_swap_seq(8); assert(isequal(1:8,unique(max_seq))) cseq{8}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

9   Fail
%% % 9 30 global cseq max_seq=find_max_swap_seq(9); assert(isequal(1:9,unique(max_seq))) cseq{9}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

10   Fail
%% %10 38 global cseq max_seq=find_max_swap_seq(10); assert(isequal(1:10,unique(max_seq))) cseq{10}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

11   Fail
%% %11 51 global cseq max_seq=find_max_swap_seq(11); assert(isequal(1:11,unique(max_seq))) cseq{11}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

12   Fail
%% %13 80 case 12 global cseq max_seq=find_max_swap_seq(13); assert(isequal(1:13,unique(max_seq))) cseq{12}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

13   Fail
%% %17 159 case 13 global cseq max_seq=find_max_swap_seq(17); assert(isequal(1:17,unique(max_seq))) cseq{13}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

14   Fail
%% %19 221 case 14 global cseq max_seq=find_max_swap_seq(19); assert(isequal(1:19,unique(max_seq))) cseq{14}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

15   Fail
%% %23 382 case 15 global cseq max_seq=find_max_swap_seq(23); assert(isequal(1:23,unique(max_seq))) cseq{15}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

16   Fail
%% %29 689 case 16 global cseq max_seq=find_max_swap_seq(29); assert(isequal(1:29,unique(max_seq))) cseq{16}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n')

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

17   Fail
%% %31 819 case 17 global cseq max_seq=find_max_swap_seq(31); assert(isequal(1:31,unique(max_seq))) cseq{17}=max_seq; seq=max_seq; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end fprintf('count %i\n',count) fprintf('%i ',max_seq) fprintf('\n') toc

```Error: Undefined function 'find_max_swap_seq' for input arguments of type 'double'. ```

18   Fail
%% global cseq total=0; for i=2:17 seq=cseq{i}; count=0; while seq(1)>1 count=count+1; seq(1:seq(1))=seq(seq(1):-1:1); end total=total+count; end % 2531 is optimal sum total=sum([0 1 2 4 7 10 16 22 30 38 51 80 159 221 382 689 819])-total; assert(total<2001); % Minimum performance requirement toc feval(@assignin,'caller','score',min(2000,total));

```Error: Index exceeds matrix dimensions. ```