原题链接:
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;i sqrt(x*x+y*y)+r) printf("2n"); else { sum=ceil(num/k); printf("%dn",sum); } } } ac



