Very fast and very compact solution. Nice usage of complex to calculate distance between points and recursion.
Test | Status | Code Input and Output |
---|---|---|
1 | Pass |
feval(@assignin,'caller','score',4000);
|
2 | Pass |
%%
tic
urlwrite('http://contest.usc.edu/index.php/Fall12/Home?action=download&upname=pranks.in.txt','pranks.in.txt')
toc
ans =
/users/msssystem20/pranks.in.txt
Elapsed time is 0.417304 seconds.
|
3 | Pass |
%%
fid=fopen('pranks.in.txt','r');
v_expect=[.37 .26 1.11 .02 .89 .79 .01 .17 .37 1.05 .28 .04 .02 .09 .14 .49 .71 .06 .01];
qty=fscanf(fid,'%i',1);
t1=0;
for q=1:qty %qty
n = fscanf(fid,'%f %f \n',2)'; % num_rocks, time
t=n(2);
A=zeros(2*n(1),2); % Format is rows, columns
for i=1:2*n(1)
r = fscanf(fid,'%f %f \n',2)';
A(i,:) = r;
end
tic
ta=clock;
[v]=Pranks(A,t) ;
t1=t1+etime(clock,ta)*1000; % Time in msec
fprintf('%2i vel %.2f Sum Time %.0f \n',q,v,t1)
assert(isequal(v,v_expect(q)));
end
fprintf('Processing Complete\n')
fclose(fid);
t2=min(4000,t1);
fprintf('Actual Time = %.0f msec\n',t1)
feval(@assignin,'caller','score',floor(t2));
1 vel 0.37 Sum Time 50
2 vel 0.26 Sum Time 53
3 vel 1.11 Sum Time 61
4 vel 0.02 Sum Time 62
5 vel 0.89 Sum Time 87
6 vel 0.79 Sum Time 95
7 vel 0.01 Sum Time 95
8 vel 0.17 Sum Time 117
9 vel 0.37 Sum Time 139
10 vel 1.05 Sum Time 164
11 vel 0.28 Sum Time 183
12 vel 0.04 Sum Time 201
13 vel 0.02 Sum Time 216
14 vel 0.09 Sum Time 231
15 vel 0.14 Sum Time 236
16 vel 0.49 Sum Time 237
17 vel 0.71 Sum Time 249
18 vel 0.06 Sum Time 268
19 vel 0.01 Sum Time 286
Processing Complete
Actual Time = 286 msec
|
Back to basics 20 - singleton dimensions
225 Solvers
Solve the set of simultaneous linear equations
175 Solvers
Return the first and last character of a string
1665 Solvers
Combinations without using nchoosek
47 Solvers
Find Index of maximum Value and maximum Value of a vector
123 Solvers