栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

牛客 NC231656 papaya的传送门

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

牛客 NC231656 papaya的传送门

原题链接: 
https://ac.nowcoder.com/acm/problem/231656https://ac.nowcoder.com/acm/problem/231656

题目描述

papayapapayapapaya 今天要去赶飞机,因为他实在是太懒了,所以睡过了头,于是他打算使用他的传送门去双流机场.

我们可以把双流机场当作一个圆心为 (x,y),半径为 R 的圆,papaya 的传送门能且仅能把 papaya传送到离起点距离为 k 的终点.

起点和终点不要求为整数,假设 papaya 一开始在 (0,0),他想知道最少使用多少次传送门能到达机场.


万一 papaya 突然发现其实自己一开始就在双流机场呢?谁知道呢?

输入描述:
第一行一个整数 T(1≤T≤105) 表示测试组数。
对于每组测试,包含四个整数 x,y,R,k均为整数。
输出描述:
对于每组测试,输出一个整数,表示 papaya 使用传送门的最少次数。

示例1

输入
1
7 5 2 3
输出
3

这一题刚拿到手的时候就可以写出大概的代码

#include
#include
int main()
{
    int n;
    double x,y,r,k;
    double num;
    int sum;
    scanf("%d",&n);
    for(int i=0;i 

但是提交上去的时候不对;

此时就少考虑了一种情况

但一开始k就大于sum+R的时候,操作为两次

就产生了一下的代码

#include
#include
int main()
{
    int n;
    double x,y,r,k;
    double num;
    int sum;
    scanf("%d",&n);
    for(int i=0;isqrt(x*x+y*y)+r)
             printf("2n");
      else
          {
          sum=ceil(num/k);
          printf("%dn",sum);
     }
}
}

ac

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657152.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号