栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1360 Radar Installation

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1360 Radar Installation

#include <iostream>#include <stdio.h>#include <algorithm>#include <vector>#include <cmath>using namespace std;struct Node {        int x, y;        double xx;};bool cmp(Node a, Node b) {        return (a.x > b.x);}double distant(double x1, double y1, double x2, double y2) {        return sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2));}int work(int n, int d) {        vector<Node> site;        Node tmp;        for (int i=0; i<n; i++) {     scanf("%d %d", &tmp.x, &tmp.y);     if (tmp.y > d)  return -1;        tmp.xx = tmp.x + sqrt(d*d - tmp.y*tmp.y);     site.push_back(tmp);        }        sort(site.begin(), site.end(), cmp);        int count = 1;        double xx;        tmp = site.back();    site.pop_back();        xx = tmp.xx;     while (!site.empty()) {         tmp = site.back();         site.pop_back();         if (distant(tmp.x, tmp.y, xx, 0) <= d)     continue; else if (tmp.xx < xx)     xx = tmp.xx; else {     count++;     xx = tmp.xx; }     }        return count;}int main() {        int n, d;        int i=0;        while (scanf(" %d %d", &n, &d) == 2) {     if (n==0 && d==0)  break;     i++;     int result = work(n, d);     printf("Case %d: %dn", i, result);        }        return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/377607.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号