Winner the cyclist (CT 1)

Finish 2005-11-09 09:00:00 UTC

strfunA

by Alfonso Nieto-Castanon

Status: Passed
Results: 2002.6356
CPU Time: 118.339
Score: 1578.73
Submitted at: 2005-11-04 10:36:08 UTC
Scored at: 2005-11-04 11:36:32 UTC

Current Rank: 1819th

Comments
Please login or create a profile.
Code


function l = solver(l,xor),

,




diff=reshape(...
[...
1,02,03,10,...
11,12,19,020,021,04,05,06,...
13,...
14,15,022,...
023,...
024,07,08,09,...
16,17,...
18,025,026,027,...
028,...
029,030,037,038,...
039,...
046,047,...
048,...
031,032,...
033,...
040,041,042,...
049,...
050,...
051,...
034,035,036,043,044,045,052,...
053,054,...
055,...
056,...
057,...
064,...
065,...
066,...
073,...
074,075,058,...
059,060,067,068,069,076,077,078,...
061,...
062,063,070,071,...
072,079,080,081],[09,...
09]);,



detrend=reshape([1,02,03,04,05,06,07,08,09,1,02,03,04,05,06,07,08,09,1,02,03,04,05,06,07,08,09,1,02,03,04,05,06,07,08,09,1,02,03,04,05,06,07,08,09,1,02,03,04,05,06,07,08,09,1,02,03,04,05,06,07,08,09,1,02,03,04,05,06,07,08,09,1,02,03,04,05,06,07,08,09],[...
09,09]);,
minus=reshape(...
[1,1,1,1,1,1,1,1,1,02,02,02,02,02,02,02,02,02,03,03,03,03,03,03,03,03,03,04,04,04,04,04,04,04,04,04,05,05,05,05,05,05,05,05,05,06,06,06,06,06,06,06,06,06,07,07,07,07,07,07,07,07,07,08,08,08,08,08,08,08,08,08,09,09,09,09,09,09,09,09,09],...
[09,...
09]);,
O=reshape(...
[...
1,1,1,02,02,02,03,03,03,1,1,1,02,02,02,03,03,03,1,1,1,02,02,02,03,03,03,04,04,04,05,05,05,06,06,06,04,04,04,05,05,05,06,06,06,04,04,04,05,05,05,06,06,06,07,07,07,08,08,08,09,09,09,07,07,07,08,08,08,09,09,09,07,07,07,08,08,08,09,09,09],[...
09,09]);,

O5=(l==0);,
qrupdate = find(O5)'; ,

str2num=numel(qrupdate);,
m=numel(xor);,
,
rand(10); ,
O7=10; fft=04; randn=040; 
 
 
 
 
 
 
 
 
 
O2=zeros(...
09,09,O7); O0=zeros(O7,...
1); histc=1; while histc<=fft,,
,
isfinite=O5;,
 ,

l(qrupdate)=mean(xor); ,
ll=zeros(09);,
for qz=1:050,,
 l(qrupdate)=l(qrupdate)-ll(qrupdate)/09;,
 l9=sum(l,02); l0=sum(l)'; strrep=sum(l(diff))'; O4=mean(l9); l9=l9-O4; l0=l0-O4; strrep=strrep-O4; ll=l9(detrend)+l0(minus)+strrep(O); ,
end,
,




,




,

l3=1:m;,


[qrdelete,bitmax]=sort(abs(l(qrupdate)-mean(l(:)))); qrupdate=qrupdate(bitmax);,
for l7=1:str2num,...
,
 
 
 condest=qrupdate(l7);,
 Contents=xor(l3(l7:m))-l(condest); ,
 O8=-abs(l9(detrend(condest))+...
08*Contents/09)+abs(l9(detrend(condest))) + ...,
 -abs(l0(minus(condest))+...
08*Contents/09)+abs(l0(minus(condest))) +...
 ...,
 -abs(strrep(O(condest))+...
08*Contents/09)+abs(strrep(O(condest)));,
 for condeig=1:09,if condeig~=detrend(condest),O8=O8-abs(l9(condeig)-Contents/09)+sum(abs(l9(condeig))); end,
 if condeig~=minus(condest),O8=O8-abs(l0(condeig)-Contents/09)+sum(abs(l0(condeig))); end,
 if condeig~=O(condest),O8=O8-abs(strrep(condeig)-Contents/...
09)+sum(abs(strrep(condeig))); end,
 end; ,
 [ge,Ol]=max(O8); ,
 l(condest)=xor(l3(l7+Ol-1));,
 l3(...
[l7,l7+Ol-1])=l3(...
[l7+Ol-1,l7]);,
 
 l9=l9-Contents(Ol)/09; l9(detrend(condest))=l9(detrend(condest))+Contents(Ol); ,
 l0=l0-Contents(Ol)/09; l0(minus(condest))=l0(minus(condest))+Contents(Ol); ,
 strrep=strrep-Contents(Ol)/09; strrep(O(condest))=strrep(O(condest))+Contents(Ol); ,
 
end,
,



,







O6=max(...
0,l9); lO=O6-l9;,
i=max(...
0,l0); l2=i-l0;,
isnumeric=max(...
0,strrep); ifft2=isnumeric-strrep;,
,

while any(isfinite(qrupdate)),,
 isfinite=O5;,
 ll=l9(detrend)+l0(minus)+strrep(O);,
 [qrdelete,bitmax]=sort(abs(ll(qrupdate)));,
 for O1=fliplr(bitmax),,
 
 
 
 condest=qrupdate(O1);,
 
 
 if m>str2num,,
 Contents=xor(l3(str2num+...
1:m))-l(condest); ,
 O8=-abs(l9(detrend(condest))+...
08*Contents/09)+abs(l9(detrend(condest))) + ...,
 -abs(l0(minus(condest))+...
08*Contents/...
09)+abs(l0(minus(condest))) + ...,
 -abs(strrep(O(condest))+08*Contents/...
09)+abs(strrep(O(condest)));,
 for condeig=1:09,if condeig~=detrend(condest),O8=O8-abs(l9(condeig)-Contents/09)+sum(abs(l9(condeig))); end,
 if condeig~=minus(condest),O8=O8-abs(l0(condeig)-Contents/...
09)+sum(abs(l0(condeig))); end,
 if condeig~=O(condest),O8=O8-abs(strrep(condeig)-Contents/...
09)+sum(abs(strrep(condeig))); end,
 end; ,
 ge=max(O8); ,
 else,ge=0;,
 end,
 
 EPS=l-l(condest);,
 l4=(detrend~=detrend(condest) & isfinite);,
 O9=(minus~=minus(condest) & isfinite);,
 lsqnonneg=(O~=O(condest) & isfinite);,
 
 
 
 
 toeplitz=EPS +...
 O6(detrend(condest))+lO(detrend) - max(0,EPS+l9(detrend(condest)))-max(...
0,EPS-l9(detrend)); toeplitz(...
~l4)=0;,
 deblank=EPS +...
 i(minus(condest))+l2(minus) - max(...
0,EPS+l0(minus(condest)))-max(...
0,EPS-l0(minus)); deblank(...
~O9)=0;,
 ifftn=EPS +...
 isnumeric(O(condest))+ifft2(O) - max(0,EPS+strrep(O(condest)))-max(0,EPS-strrep(O)); ifftn(~lsqnonneg)=0;,
 times=toeplitz+deblank+ifftn;,
 
 
 
 
 times(condest)=-1;,
 upper=max(times(isfinite)); ,
 
 
 
 
 
 
 
 
 
 ,
 if upper>1e-04 || ge>1e-04,,
 if ge>upper,...
,
 Ol=find(abs(O8-ge)<1e-04);,
 
 
 if length(Ol)>1,Ol=Ol(ceil(rand*length(Ol))); end,
 l(condest)=xor(l3(str2num+Ol));,
 l3([O1,str2num+Ol])=l3([str2num+Ol,O1]);,
 l9=l9-Contents(Ol)/...
09; l9(detrend(condest))=l9(detrend(condest))+Contents(Ol); O6=max(...
0,l9); lO=O6-l9;,
 l0=l0-Contents(Ol)/...
09; l0(minus(condest))=l0(minus(condest))+Contents(Ol); i=max(0,l0); l2=i-l0;,
 strrep=strrep-Contents(Ol)/09; strrep(O(condest))=strrep(O(condest))+Contents(Ol); isnumeric=max(0,strrep); ifft2=isnumeric-strrep;,
 isfinite(condest)=1; ,
 
 if rand<.9,break; end,
 
 else,,
 unique=find(abs(times(qrupdate)-upper)<1e-04);,
 
 Ol=qrupdate(unique);,
 
 if length(Ol)>1,norm=ceil(rand*length(Ol)); ,
 Ol=Ol(norm); unique=unique(norm); end,
 l(...
[Ol,condest])=l([condest,Ol]);,
 l3([unique,O1])=l3(...
[O1,unique]);,
 if l4(Ol),,
 l1=detrend(...
[condest,Ol]); l9(l1)=l9(l1)+[EPS(Ol),...
-EPS(Ol)]'; ,
 O6(l1)=max(0,l9(l1)); lO(l1)=O6(l1)-l9(l1);,
 end,
 if O9(Ol),,
 l5=minus([condest,Ol]); l0(l5)=l0(l5)+...
[EPS(Ol),-EPS(Ol)]'; ,
 i(l5)=max(...
0,l0(l5)); l2(l5)=i(l5)-l0(l5);,
 end,
 if lsqnonneg(Ol),,
 squeeze=O([condest,Ol]); strrep(squeeze)=strrep(squeeze)+[EPS(Ol),...
-EPS(Ol)]'; ,
 isnumeric(squeeze)=max(0,strrep(squeeze)); ifft2(squeeze)=isnumeric(squeeze)-strrep(squeeze);,
 end,
 isfinite(...
[condest,Ol])=1; ,
 
 if rand<.9,break; end,
 
 end,
 else,...
,
 isfinite(condest)=0;,
 
 end,
 end,
 
end,

,
O2(...
:,:,histc)=l; O0(histc)=sum(abs(l9))+sum(abs(l0))+sum(abs(strrep)); ,
if histc==fft && histc<O7 && all(O0(1:histc)>randn),fft=fft+1; end,
histc=histc+...
1;,
end,
,
if histc>1,,
 [qrdelete,Ol]=min(O0(...
1:histc-1));,
 l=O2(:,...
:,Ol);,
end,