English appre:

an infinite straight line:一条无限长的直线

on the coasting:在海岸线上

Cartesian coordinate system,

题目地址:http://poj.org/problem?id=1328

我的代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std; struct dao
{
double x,y;
}da[10000];
bool cmp(dao a,dao b)
{
return (a.y<b.y)||(a.y==b.y && a.x>b.x);
} int main()
{
int n,d;
double x1,y1;
int k=0;
while(~scanf("%d%d",&n,&d)&&(n||d))
{
int ans=1;
for(int i=0;i<n;i++)
{
scanf("%lf%lf",&x1,&y1);
da[i].x=x1-sqrt((double)d*(double)d-(double)y1*y1);
da[i].y=x1+sqrt((double)d*(double)d-(double)y1*y1);
if((d-y1)<0||d<=0) ans=-1;
} if(ans==-1)
{
printf("Case %d: -1\n",++k);
continue;
}
else
{
sort(da,da+n,cmp);
double t1=da[0].y;
for(int i=1;i<n;i++)
if(da[i].x>t1)//要是用=号,有些数据不可通过。
{
ans++;
t1=da[i].y;//更新右范围
}
printf("Case %d: %d\n",++k, ans);
}
}
}

  

最新文章

  1. 操作系统核心原理-7.设备管理:I/O原理
  2. ThinkPHP动态版本控制
  3. 一些随机数据的生成(日期,邮箱,名字,URL,手机号,日期等等)
  4. js 闭包演示
  5. 使用pt-fifo-split 工具往mysql插入海量数据
  6. response对象详解
  7. JS获取IP、MAC和主机名的五种方法
  8. 剑指offer-面试题17.合并两个排序的链表
  9. YARN的笔记
  10. 关于CPU CACHE工作机制的学习
  11. Linux学习笔记14—文件的压缩与打包
  12. ubuntu 调节音量命令 声卡驱动
  13. PLSQLDeveloper_免安装自带client
  14. tinyint、smallint、bigint、int 区别
  15. EntityFramework安装和EF升级方法
  16. linux ,cron定时任务 备份mysql数据库
  17. Asp SqlDataSource将数据库数据绑定在 GridView
  18. C# winform中 窗体缩放自适应的方法(不同电脑/不同分辨率)
  19. “好奇号”火星车和它搭载的软件(来自Erlang程序员的观点)
  20. Pycharm关闭后Python.exe还是在后台运行

热门文章

  1. (LNMP) Nginx_PHP_MariaDB
  2. 第3章 关系数据库标准语言SQL(重点) | 数据库知识点整理
  3. VSCode常用插件之ESLint使用
  4. sql查询如何将A表数据name字段对应B表name字段得到对应的B表id主键然后添加A到表usel_id中
  5. Spring Boot源码(一):去除web.xml
  6. kali linux中mariadb加上密码
  7. 2019kali中文乱码
  8. Python函数装饰器
  9. PIE-SDK For C++矢量数据空间索引的创建
  10. Android开发长按菜单上下文菜单