2017CCPC秦皇岛 M:Safest Buildings
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相关推荐
- 2017CCPC秦皇岛站总结
2017CCPC秦皇岛站总结 模拟赛出现很多问题,一开始我敲了一道水题,把字母写错了,WA,后来B,C题思路不对,仔细分析一下,大概在最后半个小时过了C,B题高精度,虽然最后几分钟想到了,但没时间写了 ...
- Safest Buildings (思维)
链接:https://ac.nowcoder.com/acm/problem/14377 来源:牛客网 PUBG is a multiplayer online battle royale video ...
- M - Safest Buildings ZOJ -概率+计算几何
M - Safest Buildings ZOJ - 3993 题意:"吃鸡"游戏,给出两个半径R,r,R表示第一次的大圈半径,r表示第二次的小圈半径. 第一次大圈的圆心位于(0, ...
- ZOJ 3993 2017CCPC秦皇岛 M:Safest Buildings
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3993 题意: 给你一个圆心为(0, 0),半径为R的大圈,里面有 ...
- 2017CCPC秦皇岛 L题One-Dimensional MazeZOJ3992【模拟】
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3992 题意: 走迷宫,一个一维字符串迷宫,由'L'.'R'组成,分别 ...
- ZOJ 3988 2017CCPC秦皇岛 H:Prime Set(二分匹配)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3988 题意: 给你n个数,如果{i, j}满足i!=j & ...
- ZOJ 3987 2017CCPC秦皇岛 G:Numbers(高精度+贪心)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3987 题意: 给你两个数n和m,你要将n拆成m个数,使得这m个数 ...
- ZOJ 3981 2017CCPC秦皇岛 A:Balloon Robot
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3981 题意: 第一行三个数字n, m, q表示有m个座位围成一个 ...
- ZOJ 3985 2017CCPC秦皇岛 E:String of CCPC
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3985 题意: 给你一个只包含C和P的字符串,你每次可以在其中添加 ...
最新文章
- 【OpenCV 4开发详解】圆形检测
- 五轴数控转台_各式五轴加工中心的优缺点比较
- java 反射 工厂_JAVA反射机制、工厂模式与SPRING IOC
- 【开发环境】为 Visual Studio Community 2013 版本安装中文语言包 ( 安装 Test Agents 2013 | 安装 Visual Studio 2013 简体中文 )
- good things to note for google scholar
- Git的pull clone fetch
- [蓝桥杯][2013年第四届真题]剪格子-dfs
- Graph Theory Class(Min25求1~n质数和)
- c构造函数和析构函数_C ++构造函数和析构函数| 查找输出程序| 套装1
- Sublime Text3使用Package Control 报错There Are No Packages Available For Installation
- 小程序开发时能否使用我们自定义的字体图标
- MarkDown 语法备忘
- jinja Macros
- 京东抄袭源码;腾讯回应裁员;新 iPad Pro 十月发布 ​| 极客头条
- 日语+AI语音黑科技,早道开启小语种AI智能时代!
- unity 2d文字跟随主角移动_太可了!这些领域可以把Unity玩的那么好,带你开启新世界...
- 苹果手机装android应用程序,Android/iOS手机安装HP打印机的详细方法和操作步骤
- gopher攻击mysql_gopher 协议在SSRF 中的一些利用
- 使用PS去掉、添加、复制图片中的文字
- 基于VUE和Node.js的医院挂号预约管理系统