Cody

# Problem 1135. Knots Contest: Minimum Knots (ContestSuite)

Solution 184058

Submitted on 1 Jan 2013 by Susan
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',2000);

2   Pass
%% tic urlwrite('http://tinyurl.com/matlab-KnotsContest','Knots_contest.mat') urlwrite('http://tinyurl.com/matlab-numKnots','numKnots.m') % Fast numKnots rehash path % Make numKnots.m available toc

ans = /users/msssystem2/Knots_contest.mat ans = /users/msssystem2/numKnots.m [Warning: Function /opt/mlsedu/mdcsserver/latest/m/web_common/shadow/license.m has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In verifyCode>evaluateCode at 226 In verifyCode at 40 In fevalJSON at 14] [Warning: Function /opt/mlsedu/mdcsserver/latest/m/common/shadow/home.m has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In verifyCode>evaluateCode at 226 In verifyCode at 40 In fevalJSON at 14] [Warning: Function /opt/mlsedu/mdcsserver/latest/m/common/shadow/keyboard.m has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In verifyCode>evaluateCode at 226 In verifyCode at 40 In fevalJSON at 14] [Warning: Function /opt/mlsedu/mdcsserver/latest/m/common/shadow/more.m has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In verifyCode>evaluateCode at 226 In verifyCode at 40 In fevalJSON at 14] [Warning: Function /opt/mlsedu/mdcsserver/latest/m/common/shadow/pause.m has the same name as a MATLAB builtin. We suggest you rename the function to avoid a potential name conflict.] [> In verifyCode>evaluateCode at 226 In verifyCode at 40 In fevalJSON at 14] Elapsed time is 2.810360 seconds.

3   Pass
%% cases=50; nKnots=zeros(cases,1); KnotTime=zeros(cases,1); load Knots_contest.mat for n=1:cases a=testsuite(n).a; xyIn=testsuite(n).xyIn; wts=testsuite(n).wts; rng(2,'twister') time0 = cputime; xyOut=solver(a,xyIn,wts); KnotTime(n) = cputime - time0; if size(unique(xyOut,'rows'),1)<length(wts) nKnots(n)=Inf; % Points must be unique else nKnots(n)=numKnots(xyOut,a); end end for n=1:cases fprintf('%2i KnotTime(msec) %5i Knots %4i\n',n,floor(KnotTime(n)*1000),nKnots(n)) end TKnotTime=sum(KnotTime); fprintf('Sum KnotTime %5i msec\n',floor(TKnotTime*1000)) Tknots=sum(nKnots);; fprintf('Knot Score %10.2f\n',Tknots) fprintf('Cody Maximum allowed Elapsed time is approximately 53 seconds\n') toc feval( @assignin,'caller','score',min( 2000,Tknots ) );

1 KnotTime(msec) 1120 Knots 7 2 KnotTime(msec) 1389 Knots 43 3 KnotTime(msec) 99 Knots 5 4 KnotTime(msec) 120 Knots 23 5 KnotTime(msec) 139 Knots 10 6 KnotTime(msec) 689 Knots 28 7 KnotTime(msec) 120 Knots 6 8 KnotTime(msec) 1910 Knots 17 9 KnotTime(msec) 139 Knots 9 10 KnotTime(msec) 149 Knots 26 11 KnotTime(msec) 90 Knots 3 12 KnotTime(msec) 90 Knots 1 13 KnotTime(msec) 2009 Knots 19 14 KnotTime(msec) 149 Knots 0 15 KnotTime(msec) 450 Knots 38 16 KnotTime(msec) 2750 Knots 41 17 KnotTime(msec) 669 Knots 22 18 KnotTime(msec) 139 Knots 17 19 KnotTime(msec) 1139 Knots 32 20 KnotTime(msec) 1190 Knots 56 21 KnotTime(msec) 149 Knots 19 22 KnotTime(msec) 750 Knots 27 23 KnotTime(msec) 2059 Knots 37 24 KnotTime(msec) 420 Knots 8 25 KnotTime(msec) 79 Knots 0 26 KnotTime(msec) 69 Knots 2 27 KnotTime(msec) 269 Knots 0 28 KnotTime(msec) 109 Knots 7 29 KnotTime(msec) 70 Knots 2 30 KnotTime(msec) 1080 Knots 18 31 KnotTime(msec) 440 Knots 20 32 KnotTime(msec) 1929 Knots 19 33 KnotTime(msec) 170 Knots 0 34 KnotTime(msec) 199 Knots 25 35 KnotTime(msec) 250 Knots 10 36 KnotTime(msec) 100 Knots 9 37 KnotTime(msec) 50 Knots 2 38 KnotTime(msec) 1949 Knots 55 39 KnotTime(msec) 1019 Knots 16 40 KnotTime(msec) 289 Knots 11 41 KnotTime(msec) 1590 Knots 34 42 KnotTime(msec) 1560 Knots 35 43 KnotTime(msec) 100 Knots 6 44 KnotTime(msec) 450 Knots 12 45 KnotTime(msec) 179 Knots 9 46 KnotTime(msec) 49 Knots 0 47 KnotTime(msec) 1809 Knots 51 48 KnotTime(msec) 169 Knots 26 49 KnotTime(msec) 2750 Knots 50 50 KnotTime(msec) 350 Knots 21 Sum KnotTime 35029 msec Knot Score 934.00 Cody Maximum allowed Elapsed time is approximately 53 seconds Elapsed time is 40.248297 seconds.