参考:https://blog.csdn.net/KuHuaiShuXia/article/details/78408194

题意:

描述了吃鸡刷圈的问题,给出楼的坐标点,和两次刷圈的半径R和r,现在寻找最安全的地方

思路:

判定安全方法:每个点以r为半径画圆,与以原点为圆心,半径为R的圆的重合部分的大小为比较基准

那么问题又转化为与原点的距离

如果R>2r,那么以大圈圆心为圆心的R-2r范围内的建筑的安全概率是相等的。

反之,以大圈圆心为圆心的2*r-R范围内的建筑的安全概率是相等的。

我们只需要判断是否是一致概率,然后添加到结果集合,使用vector

代码:

#include<iostream>
#include<cstdio>
#include<vector>
using namespace std; int main() {
int t, n, R, r;
scanf("%d", &t);
while(t--) {
vector<int> vi;
int x, y, d, inf = 0xf3f3f3f, tmp;
scanf("%d %d %d", &n, &R, &r);
if(R >= 2*r) d = R - 2*r;
else d = 2*r - R;
for(int i = 1; i <= n; i++) {
scanf("%d %d", &x, &y);
if(x*x+y*y <= d*d) tmp = 0;
else tmp = x*x+y*y;
if(tmp < inf) {
inf = tmp;//更新最小
vi.clear();
}
if(tmp == inf) vi.push_back(i);
}
printf("%d\n", vi.size());
for(int i = 0; i < vi.size(); i++) {
printf("%d%c", vi[i],i==vi.size()-1?'\n':' ');
} }
return 0;
}

最新文章

  1. ABP学习日记1
  2. 【WP 8.1开发】推送通知测试服务端程序
  3. ROS Hotspot服务器的搭建与设定!(上网认证)
  4. 【R】如何确定最适合数据集的机器学习算法 - 雪晴数据网
  5. WEB前端常用网站收集
  6. 字符串和date之间的相互转换方法
  7. javascript dom 编程艺术笔记 第四章:图片库
  8. 如何实现批处理文件传参数给SQLPLUS
  9. ios 面试题 0
  10. FFMPEG图片转视频
  11. RelativeLayout的一些感想
  12. 听翁恺老师mooc笔记(7)--字符串1
  13. 咸鱼入门到放弃4——Http协议
  14. Windows下部署Apache RocketMQ
  15. Kali学习笔记13:操作系统识别
  16. springboot读取properties(yml)的几种常用方式
  17. [CodeForces - 197D] D - Infinite Maze
  18. BZOJ.2134.[国家集训队]单选错位(概率 递推)
  19. Java注释规范整理
  20. python 读不同编码的文本,传递一个可选的encoding 参数给open() 函数

热门文章

  1. ffmpeg-linux32-v3.3.1
  2. mac 下idea光标问题
  3. codeforces 965E Trie+multiset
  4. bzoj3670 [Noi2014]动物园——KMP
  5. bzoj3295 洛谷P3157、1393 动态逆序对——树套树
  6. Linux 进程间通讯方式 pipe()函数 (转载)
  7. Java学习笔记——反射
  8. P1606 [USACO07FEB]荷叶塘Lilypad Pond(最短路计数)
  9. curl 做爬虫 用服务器代理ip
  10. ora-20000 unable to analyze