坏了,讲了 \(N\) 天后我才开始学。
首先你有若干条线段。
根据初二学的知识,我们可以知道:
一条直线可以表示为一次函数。
即 \(y=kx+b\) 的形式
所以,当我们读入线段时:
x=(x+lst-1)%Mod+1,y=(y+lst-1)%mod+1;X=(X+lst-1)%Mod+1,Y=(Y+lst-1)%mod+1;if(x>X){swap(x,X),swap(y,Y);}if(x==X){a[++cnt].k=0,a[cnt].b=max(y,Y);}else{a[++cnt].k=1.0*(Y-y)/(X-x),a[cnt].b=1.0*y-a[cnt].k*x;}
处理出线段的 \(k\) 与 \(b\)。