河南省第六屆大學生程式設計競賽--外星人的供給站,河南省設計競賽

來源:互聯網
上載者:User

河南省第六屆大學生程式設計競賽--外星人的供給站,河南省設計競賽

外星人的供給站

Time Limit: 2 Seconds    Memory Limit: 512 MB

Description

外星人指的是地球以外的智慧生命。外星人長的是不是與地球上的人一樣並不重要,但起碼應該符合我們目前對生命基本形式的認識。比如,我們所知的任何生命都離不開液態水,並且都是基於化學元素碳(C)的有機分子組合成的複雜有機體。
42歲的天文學家Dr. Kong已經執著地觀測ZDM-777星球十多年了,這個被稱為“戰神”的紅色星球讓他如此著迷。在過去的十多年中,他經常有一些令人激動的發現。ZDM-777星球表面有著明顯的明暗變化,對這些明暗地區,Dr. Kong已經細緻地研究了很多年,並且繪製出了較為詳盡的地圖。他堅信那些暗區是陸地,而亮區則是湖泊和海洋。他一直堅信有水的地方,一定有生命的痕迹。Dr. Kong有一種強烈的預感,覺得今天將會成為他一生中最值得紀念的日子。

這天晚上的觀測條件實在是空前的好,ZDM-777星球也十分明亮,在射電望遠鏡中呈現出一個清晰的暗紅色圓斑。還是那些熟悉的明暗地區和極冠,不過,等等,Dr. Kong似乎又撲捉到曾看到過的東西,那是什麼,若隱若現的。他儘可能地睜大了眼睛,仔細地辨認。哦,沒錯,在一條直線上,又出現了若干個極光點串連著星球亮區,幾分鐘後,極光點消失。
Dr. Kong大膽猜想,ZDM-777星球上的湖泊和海洋裡一定有生物。那些極光點就是ZDM-777星球上的供給站,定期給這些生物提出維持生命的供給。
不妨設,那條直線為X軸,極光點就處在X軸上,N個亮區P1,P2,…Pn就分布在若干個極光點周圍。



接著,Dr. Kong 又有驚人的發現,所有的亮區Pi都處在某個半徑為R的極光點圓內。去掉一個極光點就會有某些亮區Pj不處在覆蓋地區內。

Dr. Kong想知道,至少需要多少個極光點才能覆蓋所有的湖泊和海洋。

2≤K≤5 1≤R≤50 1≤N≤100 -100≤PXi PYi≤100 | PYi | ≤ R 
R, PXi PYi都是整數。資料之間有一個空格。

Input

>第一行: K 表示有多少組測試資料。 
接下來對每組測試資料:
第1行: N R
第2~N+1行: PXi PYi (i=1,…..,N)

Output

對於每組測試資料,輸出一行: 最少需要的極光點數。

Sample Input

23 21 2-3 12 11 55 5

Sample Output

21

Source

河南省第六屆大學生程式設計競賽



貌似似曾相識的感覺!

簡單貪心!!

就按照每個點所對應的最左極點的位置按從小到大排序,然後掃一遍即可,找對貪心策略!


AC代碼:

#include <cstdio>#include <iostream> #include <cstring>#include <cstdlib>#include <cmath>#include <stack>#include <queue>#include <algorithm>#include <string>using namespace std;struct fun{double zuo, you;}a[110];bool cmp(fun a, fun b){return a.zuo<b.zuo;}int main(){int K, N;double R;scanf("%d", &K);while(K--){double x, y;scanf("%d %lf", &N, &R);for(int i=0; i<N; i++){scanf("%lf %lf", &x, &y);a[i].zuo = x - sqrt(R*R - y*y);a[i].you = x + sqrt(R*R - y*y);}sort(a, a+N, cmp);int ans = 1;double k = a[0].you;for(int i=1; i<N; i++){if(a[i].you <= k) k = a[i].you;else if(a[i].zuo > k){ans++;k = a[i].you;}}printf("%d\n", ans);}return 0;}





聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.