Cody

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

Solution 102330

Submitted on 25 Jun 2012 by Richard Zapor
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
%% 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 = 0.4060 ```

2   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

```dt = 0.3940 net_time = 0.8000 ```

3   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

```dt = 240.4870 ```

4   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)));

``` ```

5   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

```dt = 0.6110 net_time = 1.4110 ```

6   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

```dt = 0.6440 net_time = 2.0550 ```

7   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

```dt = 0.6970 net_time = 2.7520 ```

8   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

```dt = 0.7590 net_time = 3.5110 ```

9   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

```dt = 0.7910 net_time = 4.3020 ```

10   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

```dt = 0.7320 net_time = 5.0340 ```

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

``` ```

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

```net_time = 5.0340 ```