Cody

# Problem 787. Path Optimization thru N words : Time Optimization

Solution 168241

Submitted on 26 Nov 2012
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
%% feval(@assignin,'caller','score',100);

``` ```

2   Pass
%% format short format compact global net_time s1 = {'abcd','bcde','cdef','defg'}; s2=min_path_cost(s1); % to get good time t0=clock; s2=min_path_cost(s1); dt=etime(clock,t0)*1e3; assert(isequal(s2,'dddd')) net_time=dt

```net_time = 100 net_time = 100 net_time = 0.7370 ```

3   Pass
%% global net_time temp=net_time; % anti-cheat s1 = {'aldfejk','czoa','vwy','abcde'}; s2=min_path_cost(s1); t0=clock; s2=min_path_cost(s1); dt=etime(clock,t0)*1e3 assert(isequal(s2,'love')) net_time=temp+dt

```net_time = 100 net_time = 100 dt = 0.6240 net_time = 1.3610 ```

4   Pass
%% global net_time % anti-cheat temp=net_time; s1 = {'aldfejk','czoa','vwy','abcde'}; s2=min_path_cost(s1); t0=clock; pause(0.2); s2=min_path_cost(s1); dt=etime(clock,t0)*1e3 assert(isequal(s2,'love')) if dt<200 net_time=2001 % cheat trap fail condition end

```net_time = 100 net_time = 100 dt = 253.1820 ```

5   Pass
%% % not part of the time trial % avoids look-up table hack - Castano s1 = cellfun(@(x)char('a'-1+randi(26,1,5)),cell(1,7),'uniformoutput',false); assert(all(any(bsxfun(@eq,min_path_cost(s1),cell2mat(cellfun(@(x)x',s1,'uniformoutput',false)))))&all(sum(abs(diff(double(min_path_cost(s1)))))<=sum(abs(diff(double(cell2mat(cellfun(@(x)x(randi(numel(x),1,1000))',s1,'uniformoutput',false))),1,2)),2)));

```net_time = 100 net_time = 100 ```

6   Pass
%% global net_time temp=net_time; s1 = {'lqjfac','deamv','fkazbw','idlw','ajmf','abcwz','wxyz'}; %lmklmww s2=min_path_cost(s1); t0=clock; s2=min_path_cost(s1); dt=etime(clock,t0)*1e3 assert(isequal(s2,'lmklmww')) net_time=temp+dt

```net_time = 100 net_time = 100 dt = 14.3910 net_time = 114.3910 ```

7   Pass
%% global net_time temp=net_time; s1 = {'lwjac','demv','fkabw','idlw','pqmf','abcnq','fwxyz','mnop'}; s2=min_path_cost(s1); t0=clock; s2=min_path_cost(s1); dt=etime(clock,t0)*1e3 assert(isequal(s2,'cdfdfcfm')|isequal(s2,'cdbdfcfm')) net_time=temp+dt

```net_time = 100 net_time = 100 dt = 45.8400 net_time = 160.2310 ```

8   Pass
%% global net_time temp=net_time; s1 = {'ldjac','demv','fkabw','idlw','pqmf','abcnq','fwxyz','mnop','flap'}; s2=min_path_cost(s1); t0=clock; s2=min_path_cost(s1); dt=etime(clock,t0)*1e3 assert(isequal(s2,'ddfdfcfml')|isequal(s2,'ddbdfcfml')) net_time=temp+dt

```net_time = 100 net_time = 100 dt = 373.0940 net_time = 533.3250 ```

9   Pass
%% global net_time temp=net_time; s1 = {'the','goal','of','life','is','living','in','agreement','with','nature'}; s2=min_path_cost(s1); t0=clock; s2=min_path_cost(s1); dt=etime(clock,t0)*1e3 assert(isequal(s2,'hgfiiiighe')|isequal(s2,'hgffiiighe')) net_time=temp+dt

```net_time = 100 net_time = 100 dt = 344.4050 net_time = 877.7300 ```

10   Pass
%% global net_time temp=net_time; s1 = {'he' 'has','all','the','virtues','idislike','andnone','ofthe','vicesi','admire'}; s2=min_path_cost(s1); t0=clock; s2=min_path_cost(s1); dt=etime(clock,t0)*1e3 assert(isequal(s2,'eaaeeeeeee')) net_time=temp+dt

```net_time = 100 net_time = 100 dt = 3.0788e+03 net_time = 3.9565e+03 ```

11   Pass
%% global net_time temp=net_time; s1 = {'history' 'will','be','kind','to','me','for','i','intend','to','write','it'}; s2=min_path_cost(s1); t0=clock; s2=min_path_cost(s1); dt=etime(clock,t0)*1e3 assert(isequal(s2,'iiekomoiiort')|isequal(s2,'iieiomoiiort')) net_time=temp+dt

```net_time = 100 net_time = 100 dt = 179.9080 net_time = 4.1364e+03 ```

12   Fail
%% global net_time % Time performance rqmt assert(net_time<2000,sprintf('Net time = %s',num2str(net_time)));

```Error: Net time = 4136.39 ```

13   Pass
%% global net_time % net_time in ms % Create graph data net_time=min(100,net_time) % Limit graph y-axis feval(@assignin,'caller','score',floor(net_time)); %fh=fopen('min_path_cost.m','wt'); %fprintf(fh,'%s\n',repmat('1;',[1,round(net_time/2)])); %fclose(fh);

```net_time = 100 ```