Cody

# Problem 1506. Maximum Intra-Vector Swaps

Solution 283263

Submitted on 16 Jul 2013 by Jean-Marie Sainthillier
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   Pass
%% % 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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 1 2 1 ```

3   Pass
%% % 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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 2 2 3 1 ```

4   Pass
%% % 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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 4 2 4 1 3 ```

5   Pass
%% % 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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 7 3 1 4 5 2 ```

6   Pass
%% % 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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 10 4 1 6 5 2 3 ```

7   Pass
%% % 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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 16 3 1 4 6 7 5 2 ```

8   Pass
%% % 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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 17 7 4 8 6 1 5 2 3 ```

9   Pass
%% % 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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 22 3 7 5 9 8 1 4 6 2 ```

10   Pass
%% %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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 30 2 5 8 1 9 6 4 10 3 7 ```

11   Pass
%% %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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 38 6 9 1 10 7 3 5 11 4 2 8 ```

12   Pass
%% %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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 51 2 4 5 6 11 10 3 1 8 12 13 9 7 ```

13   Pass
%% %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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 89 10 5 8 13 9 7 3 17 4 12 2 11 6 16 15 1 14 ```

14   Pass
%% %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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 99 15 16 9 11 10 3 19 4 13 18 12 14 6 2 7 8 1 5 17 ```

15   Pass
%% %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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 143 8 17 4 3 22 15 12 19 10 9 18 20 5 11 7 1 21 23 16 14 6 2 13 ```

16   Pass
%% %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')

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 194 12 24 17 9 25 20 13 28 6 26 15 3 23 21 18 22 2 7 29 19 11 10 14 27 16 5 1 4 8 ```

17   Pass
%% %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

```[Warning: Polynomial is not unique; degree >= number of data points.] [> In polyfit at 71 In find_max_swap_seq at 5 In verifyCode>evaluateCode at 227 In verifyCode at 40 In fevalJSON at 14 In workspacefunc at 7] count 233 14 8 9 13 5 22 29 24 11 25 17 23 12 15 2 27 7 6 10 31 18 16 20 4 26 19 30 1 3 21 28 Elapsed time is 13.476645 seconds. ```

18   Pass
%% 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));

```Elapsed time is 13.500820 seconds. ```