意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

队内赛一个有意思的题

来源:恒创科技 编辑:恒创科技编辑部
2022-08-12 16:07:55


这道题理解不难~~但过程需要仔细思考..代码也简单...

首先看如果一直蜗牛每半小时上升为10下降为20但坑的高度只有10那蜗牛照样可以一次性出去...以这种思路看如果是


队内赛一个有意思的题

10 9 5 这种数据...蜗牛在一天过后的位置将是4然后第二天就能出去了....(注意绝不是10/(9-5)向上取整=3 而是2天就能出去)

如果蜗牛爬啊爬...某一天结束爬到了>=h-i 的位置那么下一天就能出去了....所以只要求出这个时间再加上1...

( h - i ) %( i - j ) == 0 那么蜗牛显然在 ( h-i) /( i-j ) 天能到达 ( h- i ) 的位置... 再多一天就能正好出去..

( h - i ) % ( i - j ) ! = 0 那么蜗牛在 ( h-i ) / (i - j ) 天能达到 ( h - i )下面的某个不低于 ( h - i - ( i-j ) ) 的位置.. 那么再用一天蜗牛能超过 h-i 的位置..再多一天蜗牛就能出去...

还有就是Never see sun!的情况... h > i && i-j<=0

Program:

#include<iostream>
#include<stdio.h>
using namespace std;
int n,h,i,j;
void make()
{
int a1,a2,k=i-j;
if (h<=i)
{
printf("1\n");
return;
}
if (k<=0)
{
printf("Never see sun!\n");
return;
}
a1=(h-i)/k;
if (h-(h-i)/k*k==i) a1++;
else a1+=2;
printf("%d\n",a1);
return;
}
int main()
{
scanf("%d",&n);
while (n--)
{
scanf("%d%d%d",&h,&i,&j);
make();
}
return 0;
}



上一篇: 租用美国服务器:潜在的风险与应对策略。 下一篇: 找质因数..打素数表..DFS解容斥问题...