我的$最大值=10_000;我的@points=([0,0]);子分接{my$n=班次;每个$p(0..$#分){my($x,$y)=@{$points〔$p〕};我的$w=($p<$#分)?($点[$p+1][0]-$x):($n+1);我的$h=($p>0)?($点[$p-1][1]-$y):(1+1);如果($w>=$n){如果($h*$w==$n){@points=(@点[0..$p-1],@积分[$p+1..$#积分]);}elsif($h==1){@点=(@points[0..$p-1],[$x+$n,$y],@分数[$p+1..$#分]);}elsif($w==$n){@点=(@points[0..$p-1],[$x,$y+1],@分数[$p+1..$#分]);}其他{@点=(@points[0..$p-1],[$x,$y+1],[$x+$n,$y],@分数[$p+1..$#分]);}返回($x,$y);}}模具;}本地*A233380;打开A233380,“>A233380.txt”或“创建A233380txt:$!”;每个$n(1..$max){my($x,$y)=下降($n);打印A233380“$n$x\n”;}关闭A233380;