Cody

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

Solution 102332

Submitted on 25 Jun 2012 by Richard Zapor
• Size: 3
• This is the leading solution.
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 = 0.2840

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

dt = 0.2790 net_time = 0.5630

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

dt = 214.9520

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

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

dt = 0.4520 net_time = 1.0150

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

dt = 0.4450 net_time = 1.4600

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

dt = 0.5340 net_time = 1.9940

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

dt = 0.5440 net_time = 2.5380

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

dt = 0.5750 net_time = 3.1130

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

dt = 0.5890 net_time = 3.7020

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

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 = 3.7020