給定平面上的n個點,找出它們之間最遠的點對。
多組資料,每組第一行n代表點數,接著n行為點的座標,座標為整數,不超過10^18範圍。n<=30000。
每組一行,最遠點對的距離,保留2位小數
0 01 1
0 11 0
1.41
找出凸包,旋轉卡殼。
注意方向。。。
#include#include#include#include#includeusing namespace std;
struct point p[30005];
inline bool cmp(point a,point b)
int n;
inline long long cross(point a,point b,point x)
inline long long cal(point a,point b)
void scan()
for(i=1;i<=top;i++)s[i]=q[i];s[0]=top;
q[1]=n;q[2]=n-1;top=2;
for(i=n-2;i>=1;i--)i=1;
if(q[1]==s[s[0]])i=2;
for(;i<=top;i++)s[++s[0]]=q[i];
return ;
}void farest()
printf("%.2lf",sqrt(double(ans)));
return ;
}int main()
sort(p+1,p+1+n,cmp);
scan();
farest();
return 0;
}
樹上最遠距離練習
從二叉樹的節點a出發,可以向上或者向下走,但沿途的節點只能經過一次,當到達節點b時,路徑上的節點數叫作a到b的距離。對於給定的一棵二叉樹,求整棵樹上節點間的最大距離。給定乙個二叉樹的頭結點root,請返回最大距離。保證點數大於等於2小於等於500.對於給定的節點root,最遠距離只可能來自以下三種情...
最遠距離(C 實現)
給定一組點 x,y 求距離最遠的兩個點之間的距離。輸入 第一行是點數n n大於等於2 接著每一行代表乙個點,由兩個浮點數x,y組成。輸出 輸出一行是最遠兩點之間的距離。樣例輸出 6 34.0 23.0 28.1 21.6 14.7 17.1 17.0 27.2 34.7 67.1 29.3 65.1...
筆試題 求兔子的最遠距離
給你一組資料,代表柱子的高度,兩隻兔子的起點相同但是起點的位置是任意的,求兩隻兔子的最大距離,最大距離計算方法是k j 1 k,j為下標 兔子只能跳比它所在柱子高的柱子或者高度相同的柱子。兩個兔子至少乙個要跳。上圖為三種情況,起點為假設,但是都保證為最大距離 struct num a 200001 ...