時間限制:
3000 ms | 記憶體限制:
65535 kb
難度:4
描述
有乙個牧場,牧場上有很多個供水裝置,現在牧場的主人想要用籬笆把這些供水裝置圈起來,以防止不是自己的牲畜來喝水,各個水池都標有各自的座標,現在要你寫乙個程式利用最短的籬笆將這些供水裝置圈起來!(籬笆足夠多,並且長度可變)
輸入第一行輸入的是n,代表用n組測試資料(1<=n<=10)
第二行輸入的是m,代表本組測試資料共有m個供水裝置(3<=m<=100)
接下來m行代表的是各個供水裝置的橫縱座標
輸出 輸出各個籬笆經過各個供水裝置的座標點,並且按照x軸座標值從小到大輸出,如果x軸座標值相同,再安照y軸座標值從小到大輸出
樣例輸入
140 0
1 12 3
3 0
樣例輸出
0 02 33 0
1 #include 2 #include 3 #include 45using
namespace
std;67
struct
point
8p[105], s[105
];12
13bool
cmp(point a, point b)
1417
18/*
19int dis(point a, point b)
2023
*/24
25bool
judge(point a, point b, point c)
2635
36int
main()
3754 t = top-1;55
for(int i = n-1; i >= 0; --i) //
求上凸包
5661 --top; //
下凸包和上凸包的首尾點肯定是重疊的,所以刪去
6263 sort(s, s+top, cmp);
64for(int i = 0; i < top; ++i)
65 printf("
%d %d\n
", s[i].x, s[i].y);66}
67return0;
68 }
NYOJ 78 圈水池(凸包基礎)
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有乙個牧場,牧場上有很多個供水裝置,現在牧場的主人想要用籬笆把這些供水裝置圈起來,以防止不是自己的牲畜來喝水,各個水池都標有各自的座標,現在要你寫乙個程式利用最短的籬笆將這些供水裝置圈起來!籬笆足夠多,並且長度可變 輸入第一行輸...
NYOJ 78 圈水池 (凸包問題)
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有乙個牧場,牧場上有很多個供水裝置,現在牧場的主人想要用籬笆把這些供水裝置圈起來,以防止不是自己的牲畜來喝水,各個水池都標有各自的座標,現在要你寫乙個程式利用最短的籬笆將這些供水裝置圈起來!籬笆足夠多,並且長度可變 輸入 第一行...
圈水池 nyoj 78 凸包演算法
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述有乙個牧場,牧場上有很多個供水裝置,現在牧場的主人想要用籬笆把這些供水裝置圈起來,以防止不是自己的牲畜來喝水,各個水池都標有各自的座標,現在要你寫乙個程式利用最短的籬笆將這些供水裝置圈起來!籬笆足夠多,並且長度可變 輸入第一行輸入...