segmentsSR[pathN0_,pathN1_]:=拆分依据[Map[Min,Drop[Drop[pathN0,1],-1]-pathN1],#==0&]
区域[pathN0_,pathN1_]:=选择[Map[Apply[Plus,#]&,segmentsSR[pathN 0,pathN1]],#=0&]
width1Q[pathN0_,pathN1_]:=子集Q[{0,1},并集[Flatten[Drop[pathN0,1],-1]-pathN1,1]]
(*参数seq是间隔1..m-1中已计算的序列元素列表,其中0表示尚未找到元素*)
a318843[m_,n_,seq_]:=模块[{list=Join[seq,Table[0,10]],路径1=路径[m-1],路径0,k,a,r,w},对于[k=m,k<=n,k++,路径0=路径[k];a=区域[路径0,路径1];r=长度[a];w=宽度1Q[路径0,路径1];如果[w&&list[[r]]==0,list[[r]]=k];路径1=路径0];列表]
a318843[260000,{1}](*数据-实际按步骤计算*)