acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 题解

    虽然用两个double记录不太严谨,但是也找不到更好的办法了

    userId_undefined

    复仇者_帅童

    小有名气CSP-J一等奖出题人
    150阅读
    0回复
    0点赞
  • 题解

    //在海岸线扫描的范围才更大 #include <bits/stdc++.h> using namespace std; int n,d; struct node{ double r,l; }p[1005]; bool cmp(node a,node b){ return a.r<b.r; } int main(){ cin>>n>>d; for(int i=1;i<=n;i++){ int x,y; cin>>x>>y; if(y>d){//距离大于半径 cout<<-1; return 0; } p[i].l=double(x)-sqrt(dd-yy);//最左能扫到该岛的雷达位置 p[i].r=double(x)+sqrt(dd-yy);//最右能扫到该岛的雷达位置 } sort(p+1,p+1+n,cmp); int ans=1,cnt=p[1].r; for(int i=1;i<=n;i++){ if(p[i].l>cnt){//找重合部分就造雷达 ans++; cnt=p[i].r; } } cout<<ans; return 0; }

    userId_undefined

    该账号不存在

    7月全勤卷王时间刺客空间掌握者时空双修者快乐小狗
    25阅读
    0回复
    2点赞
首页