時間限制:
3000 ms | 記憶體限制:
65535 kb
難度:4 描述
有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n(n<=10000)個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個草坪全部潤濕。
輸入第一行輸入乙個正整數n表示共有n次測試資料。
每一組測試資料的第一行有三個整數n,w,h,n表示共有n個噴水裝置,w表示草坪的橫向長度,h表示草坪的縱向長度。
隨後的n行,都有兩個整數xi和ri,xi表示第i個噴水裝置的的橫座標(最左邊為0),ri表示該噴水裝置能覆蓋的圓的半徑。
輸出每組測試資料輸出乙個正整數,表示共需要多少個噴水裝置,每個輸出單獨佔一行。
如果不存在一種能夠把整個草坪濕潤的方案,請輸出0。
樣例輸入
22 8 6
1 14 5
2 10 6
4 56 5
樣例輸出
12
**《演算法藝術與資訊學競賽》
上傳者張云聰
首先尋找小於等於0的噴水裝置中end最大的,然後以end為下一輪起始點,再找小於等於end數中覆蓋最廣的,依次找到結果。若最後無法大於橫向長度,則無解,輸出0。
**如下:
#include #include #include using namespace std;
int ans;
double base;
double maxd;
struct node
data[10022];
double cal(double x,double z)
int main()
}base=maxd;
ans++;
}} if (base
南陽理工學院OJ 12 噴水裝置(二)
區間選點中的區間完全覆蓋問題 求解思路如下。1 先根據給出的點的座標和半徑取出其能覆蓋的線段範圍 假如區間長度8,可選的覆蓋線段 2,6 1,4 3,6 3,7 6,8 2,4 3,5 2將每乙個區間按照左端點遞增順序排列,拍完序後為 1,4 2,4 2,6 3,5 3,6 3,7 6,8 3設定乙...
NYOJ 12 噴水裝置(二) 貪心)
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個草坪全部潤濕。...
NYOJ 12 噴水裝置(二)貪心
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個草坪全部潤濕。...