CCPC 2017秦皇岛 简单题,

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3993

题意:

给你一个圆心为(0, 0),半径为R的大圈,里面有n个点

之后在大圈中随机生成一个半径为r的小圈,满足r<=R,当然小圈一定是被大圈包含或内切

问哪些点在小圈中的概率最高

思路:

三种情况:

①2*r>=R,有些点一定会在小圈中,概率为100%,如果这个范围内有点全部输出

②2*r<R,没有哪个点一定在小圈中,但有些点可以被小圈360°绕着旋转,这些点肯定概率最高全部输出

③如果上面两种情况范围内没有点,那么就找离圆心最近的点

#include<stdio.h>
#include<algorithm>
using namespace std;
typedef struct
{  int x;  int y;
}Point;
Point s[105];
int ans[105];
int main(void)
{  int T, n, i, R, r, k, bet;  scanf("%d", &T);  while(T--)  {  scanf("%d%d%d", &n, &R, &r);  for(i=1;i<=n;i++)  scanf("%d%d", &s[i].x, &s[i].y);  k = 0;  bet = 2*R*R;  for(i=1;i<=n;i++)  {  if(s[i].x*s[i].x+s[i].y*s[i].y<=(2*r-R)*(2*r-R) && 2*r-R>=0)  ans[++k] = i;  }  if(k==0)  {  for(i=1;i<=n;i++)  {  bet = min(bet, s[i].x*s[i].x+s[i].y*s[i].y);  if(s[i].x*s[i].x+s[i].y*s[i].y<=(R-2*r)*(R-2*r))  ans[++k] = i;  }  }  if(k==0)  {  for(i=1;i<=n;i++)  {  if(s[i].x*s[i].x+s[i].y*s[i].y==bet)  ans[++k] = i;  }  }  printf("%d\n%d", k, ans[1]);  for(i=2;i<=k;i++)  printf(" %d", ans[i]);  printf("\n");  }  return 0;
}  

2017CCPC秦皇岛 M:Safest Buildings相关推荐

  1. 2017CCPC秦皇岛站总结

    2017CCPC秦皇岛站总结 模拟赛出现很多问题,一开始我敲了一道水题,把字母写错了,WA,后来B,C题思路不对,仔细分析一下,大概在最后半个小时过了C,B题高精度,虽然最后几分钟想到了,但没时间写了 ...

  2. Safest Buildings (思维)

    链接:https://ac.nowcoder.com/acm/problem/14377 来源:牛客网 PUBG is a multiplayer online battle royale video ...

  3. M - Safest Buildings ZOJ -概率+计算几何

    M - Safest Buildings ZOJ - 3993 题意:"吃鸡"游戏,给出两个半径R,r,R表示第一次的大圈半径,r表示第二次的小圈半径. 第一次大圈的圆心位于(0, ...

  4. ZOJ 3993 2017CCPC秦皇岛 M:Safest Buildings

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3993 题意: 给你一个圆心为(0, 0),半径为R的大圈,里面有 ...

  5. 2017CCPC秦皇岛 L题One-Dimensional MazeZOJ3992【模拟】

    链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3992 题意: 走迷宫,一个一维字符串迷宫,由'L'.'R'组成,分别 ...

  6. ZOJ 3988 2017CCPC秦皇岛 H:Prime Set(二分匹配)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3988 题意: 给你n个数,如果{i, j}满足i!=j & ...

  7. ZOJ 3987 2017CCPC秦皇岛 G:Numbers(高精度+贪心)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3987 题意: 给你两个数n和m,你要将n拆成m个数,使得这m个数 ...

  8. ZOJ 3981 2017CCPC秦皇岛 A:Balloon Robot

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3981 题意: 第一行三个数字n, m, q表示有m个座位围成一个 ...

  9. ZOJ 3985 2017CCPC秦皇岛 E:String of CCPC

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3985 题意: 给你一个只包含C和P的字符串,你每次可以在其中添加 ...

最新文章

  1. 【OpenCV 4开发详解】圆形检测
  2. 五轴数控转台_各式五轴加工中心的优缺点比较
  3. java 反射 工厂_JAVA反射机制、工厂模式与SPRING IOC
  4. 【开发环境】为 Visual Studio Community 2013 版本安装中文语言包 ( 安装 Test Agents 2013 | 安装 Visual Studio 2013 简体中文 )
  5. good things to note for google scholar
  6. Git的pull clone fetch
  7. [蓝桥杯][2013年第四届真题]剪格子-dfs
  8. Graph Theory Class(Min25求1~n质数和)
  9. c构造函数和析构函数_C ++构造函数和析构函数| 查找输出程序| 套装1
  10. Sublime Text3使用Package Control 报错There Are No Packages Available For Installation
  11. 小程序开发时能否使用我们自定义的字体图标
  12. MarkDown 语法备忘
  13. jinja Macros
  14. 京东抄袭源码;腾讯回应裁员;新 iPad Pro 十月发布 ​| 极客头条
  15. 日语+AI语音黑科技,早道开启小语种AI智能时代!
  16. unity 2d文字跟随主角移动_太可了!这些领域可以把Unity玩的那么好,带你开启新世界...
  17. 苹果手机装android应用程序,Android/iOS手机安装HP打印机的详细方法和操作步骤
  18. gopher攻击mysql_gopher 协议在SSRF 中的一些利用
  19. 使用PS去掉、添加、复制图片中的文字
  20. 基于VUE和Node.js的医院挂号预约管理系统

热门文章

  1. Python 定义动态变量
  2. 基于Java的Android区块链钱包开发(ETH篇)
  3. arcsde mysql_ArcSDE底层研究
  4. Win10安装 JDK 及配置环境变量的方法
  5. ASP.NET Core MVC从入门到精通[PDF版]
  6. 料箱式AGV机器人立体库|海格里斯HEGERLS料箱式四向穿梭车复杂巷道灵活搬运
  7. arduino蓝牙控制小灯
  8. 自动控制原理(G.F.Franklin)复习
  9. JQuery 轮播图片
  10. 全屋wifi覆盖方案 应用经验