Cody

# Problem 927. Knots Contest: Minimum Knots (TestSuite)

Solution 161563

Submitted on 13 Nov 2012 by Aurelien Queffurust
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-Knots','Knots_sample.mat') urlwrite('http://tinyurl.com/matlab-numKnots','numKnots.m') % Fast numKnots rehash path % Make numKnots.m available toc

``` ans = /users/msssystem20/Knots_sample.mat ans = /users/msssystem20/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 189 In verifyCode at 40 In fevalJSON at 14] [Warning: Function /opt/mlsedu/mdcsserver/latest/m/web_common/shadow/graphicsAndGuis/uicontrol.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 189 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 189 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 189 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 189 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 189 In verifyCode at 40 In fevalJSON at 14] Elapsed time is 3.320930 seconds. ```

3   Pass
%% cases=50; nKnots=zeros(cases,1); KnotTime=zeros(cases,1); load Knots_sample.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) 490 Knots 1 2 KnotTime(msec) 139 Knots 0 3 KnotTime(msec) 160 Knots 1 4 KnotTime(msec) 1139 Knots 13 5 KnotTime(msec) 40 Knots 6 6 KnotTime(msec) 299 Knots 18 7 KnotTime(msec) 510 Knots 7 8 KnotTime(msec) 110 Knots 8 9 KnotTime(msec) 149 Knots 16 10 KnotTime(msec) 549 Knots 6 11 KnotTime(msec) 429 Knots 21 12 KnotTime(msec) 2509 Knots 62 13 KnotTime(msec) 39 Knots 0 14 KnotTime(msec) 1030 Knots 46 15 KnotTime(msec) 350 Knots 40 16 KnotTime(msec) 2199 Knots 102 17 KnotTime(msec) 560 Knots 25 18 KnotTime(msec) 450 Knots 35 19 KnotTime(msec) 600 Knots 2 20 KnotTime(msec) 129 Knots 6 21 KnotTime(msec) 129 Knots 8 22 KnotTime(msec) 2139 Knots 53 23 KnotTime(msec) 580 Knots 51 24 KnotTime(msec) 210 Knots 40 25 KnotTime(msec) 39 Knots 0 26 KnotTime(msec) 139 Knots 10 27 KnotTime(msec) 120 Knots 9 28 KnotTime(msec) 240 Knots 33 29 KnotTime(msec) 190 Knots 16 30 KnotTime(msec) 320 Knots 29 31 KnotTime(msec) 279 Knots 25 32 KnotTime(msec) 1610 Knots 93 33 KnotTime(msec) 1540 Knots 61 34 KnotTime(msec) 430 Knots 8 35 KnotTime(msec) 2319 Knots 75 36 KnotTime(msec) 59 Knots 6 37 KnotTime(msec) 460 Knots 68 38 KnotTime(msec) 230 Knots 12 39 KnotTime(msec) 59 Knots 10 40 KnotTime(msec) 1450 Knots 37 41 KnotTime(msec) 79 Knots 0 42 KnotTime(msec) 1090 Knots 8 43 KnotTime(msec) 269 Knots 17 44 KnotTime(msec) 1059 Knots 22 45 KnotTime(msec) 70 Knots 9 46 KnotTime(msec) 379 Knots 10 47 KnotTime(msec) 110 Knots 7 48 KnotTime(msec) 70 Knots 6 49 KnotTime(msec) 319 Knots 17 50 KnotTime(msec) 60 Knots 4 Sum KnotTime 27950 msec Knot Score 1159.00 Cody Maximum allowed Elapsed time is approximately 53 seconds Elapsed time is 33.749712 seconds. ```