2357: 插塔憋憋乐

时间限制: 1 秒  内存限制: 128 MB
提交: 107  解决: 28
提交 状态

题目描述

众所不知,LLM是一位红警3大佬,打的非常厉害,但是曾经也是一位萌新,喜欢在家里放防御塔,然后攒单位。现在是这样的:
LLM有一个半径为R的基地,他想放一些防御塔,让任何一个敌方单位在进入自己基地的开始就受到防御塔的攻击,由于LLM希望敌人会顶着防御塔的攻击伤害自己,所以他希望任何一个敌人进入自己基地的时候就立刻受到至少两个防御塔的攻击,现在已知防御塔的防御半径为r,为了简化问题,我们假设:
1.如果一个敌人经过两个防御塔的防御的范围相切的点(如图所示),会受到两个防御塔的攻击,这里受到两个防御塔的伤害

2.不需要保证基地内部受到保护,只要保证敌人在进入基地时受到防御塔攻击即可

请问最少需要几个防御塔

输入

每个测试文件少于1000组测试样例

每组测试样例包含两个整数R,r

1<=R,r<=500

输出

输出仅包含一个数字,代表需要的防御塔数量

样例输入

1 1

样例输出

2

提示

 

来源

河南省多校脸萌第六场

这题出的挺有意思,动手画画就做出来了。

解题思路:样例给出了提示,当r >= R时,两个防御塔就够了。

当r < R时,显然是防御塔的直径能被基地的半径垂直平分的时候,防御塔占基地的圆周长范围最大。

然后构造三角形,算一下角度就行了。

(别忘了两点:

      1.个数乘2

      2.如果答案非整,要取整加一)

 1 #include <cstdio>
2 #include <iostream>
3 #include <algorithm>
4 #include <cstring>
5 #include <cmath>
6 const double pi = acos(-1.0);
7 using namespace std;
8
9 double R,r;
10 int main() {
11 double ans,res;
12 while(~scanf("%lf %lf",&R,&r)) {
13 if(long(r) >=long(R)) {
14 printf("2\n");
15 }
16 else{
17 ans = asin(r/R);
18 // printf("%lf",ans);
19 res = pi*2/ans;
20 // printf("%lf\n",res);
21 if(res - long(res)*1.0 > 0)
22 printf("%ld\n",long(res) + 1);
23 else
24 printf("%ld\n",long(res));
25 }
26 }
27 return 0;
28 }

nyoj-2357的更多相关文章

  1. NYOJ 2357: 插塔憋憋乐 贪心

    2357: 插塔憋憋乐 时间限制: 1 Sec  内存限制: 128 MB 提交: 82  解决: 18 [提交][状态][讨论版] 题目描述 众所不知,LLM是一位红警3大佬,打的非常厉害,但是曾经 ...

  2. NYOJ 1007

    在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记eule ...

  3. NYOJ 998

    这道题是欧拉函数的使用,这里简要介绍下欧拉函数. 欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数. 欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pk ...

  4. NYOJ 333

    http://www.cppblog.com/RyanWang/archive/2009/07/19/90512.aspx?opt=admin 欧拉函数 E(x)表示比x小的且与x互质的正整数的个数. ...

  5. NYOJ 99单词拼接(有向图的欧拉(回)路)

    /* NYOJ 99单词拼接: 思路:欧拉回路或者欧拉路的搜索! 注意:是有向图的!不要当成无向图,否则在在搜索之前的判断中因为判断有无导致不必要的搜索,以致TLE! 有向图的欧拉路:abs(In[i ...

  6. nyoj 10 skiing 搜索+动归

    整整两天了,都打不开网页,是不是我提交的次数太多了? nyoj 10: #include<stdio.h> #include<string.h> ][],b[][]; int ...

  7. 简答哈希实现 (nyoj 138 找球号2)

    例题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=138 代码目的:复习哈希用 代码实现: #include "stdio.h&qu ...

  8. nyoj 284 坦克大战 简单搜索

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=284 题意:在一个给定图中,铁墙,河流不可走,砖墙走的话,多花费时间1,问从起点到终点至少 ...

  9. nyoj 170 网络的可靠性

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=170 思路:统计每个节点的度,将度为1的节点消去所需要的最少的边即为答案. 代码: #in ...

  10. nyoj 139 我排第几个--康拓展开

    我排第几个 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说 ...

随机推荐

  1. Kubernetes 开船记-脚踏两只船:用 master 服务器镜像克隆出新集群

    自从2020年2月23日 园子全站登船 之后,我们一边感叹"不上船不知道,一上船吓一跳" -- kubernetes 比 docker swarm 强大太多,一边有一个杞人忧天的担 ...

  2. 命令模式与go-redis command设计

    目录 一.什么是命令(Command)模式 二.go-redis command相关代码 三.总结 一.什么是命令(Command)模式 命令模式是行为型设计模式的一种,其目的是将一个请求封装为一个对 ...

  3. 08--Docker安装Mysql

    1.在hub.docker.com中查找5.7版本 2.拉取mysql docker pull mysql:5.7 3.启动mysql镜像 docker run -p 3306:3306 --name ...

  4. 01-CentOS 8.1安装 Docker

    官方参考地址:https://docs.docker.com/install/linux/docker-ce/centos/ 里面包含包下载地址:https://download.docker.com ...

  5. React 入门-redux 和 react-redux

    React 将页面元素拆分成组件,通过组装展示数据.组件又有无状态和有状态之分,所谓状态,可以简单的认为是组件要展示的数据.React 有个特性或者说是限制单向数据流,组件的状态数据只能在组件内部修改 ...

  6. expect的使用

    1. expect概述 1.1 expect的功能 脚本执行时,有时会需要人工进行交互输入,这时可以通过expect工具来实现自动交互. expect是一种shell解释器,但是expect可以在命令 ...

  7. Linux内核分析_课程学习总结报告

    请您根据本课程所学内容总结梳理出一个精简的Linux系统概念模型,最大程度统摄整顿本课程及相关的知识信息,模型应该是逻辑上可以运转的.自洽的,并举例某一两个具体例子(比如读写文件.分配内存.使用I/O ...

  8. DHCP中继配置

    (三台都需要关闭防火墙 前两台需要安装dhcp ) 第一台linux(vmnet2)(192.168.1.1) vim /etc/sysconfig/network-scripts/ifcfg-ens ...

  9. 使用amoeba实现mysql读写分离

    使用amoeba实现mysql读写分离 1.什么是amoeba? ​ Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明. ...

  10. a.default.ERROR.httpAjax is not a function

    原因1: 使用的是jQuery的slim构建,它删除了一些东西,ajax就是其中之一. 解决方法: 在此处下载常规(压缩或非压缩)版本的jQuery并将其包含在您的项目中. 原因2: 使用其他库引起了 ...