An ant’s story
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2168 Accepted Submission(s): 1072
Problem Description
Long long ago, there is an ant crawling on an L-meter magic rubber band with speed of v cm/s.The magic rubber band will elongate m meters every second. We can assume that the magic rubber band elongates equably. Now, the ant is on the start point and crawling to another point, please tell me whether it can reach the endpoint.
Input
The first line of the input is T, which stands for the number of test cases you need to solve.
Each case include three integers: L , v , m ( 0< L< 10^9,0<= v, m< 10^ 9,).
Output
For each test case, if the ant can reach endpoint, output “YES”, otherwise “NO”.
Sample Input
1
99999 61 1
Sample Output
YES
蚂蚁速度v cm/s,蝇长L;每秒蝇长增m;
第一秒:蚂蚁走了蝇长的0.01*v/(L+m);
第二秒:蚂蚁走了蝇长的0.01*v/(L+2*m);
第三秒:蚂蚁走了蝇长的0.01*v/(L+3*m);
第四秒:蚂蚁走了蝇长的0.01*v/(L+4*m);
第t秒:蚂蚁走了蝇长的0.01*v/(L+t*m);
把以上结果加起来,求积分,∫0.01*v/(L+t*m)dt=0.01*(v/m)*ln(L+t*m)+C
从0积到t0,=0.01*(v/m)*ln[(L+t0*m)/L].
只要0.01*(v/m)*ln[(L+t0*m)/L]大于等于1(即蝇长)即表示可以走到终点。
如果v取0,即在原点踏步。不能达到终点。
L,m都是正常数,如果v取正常数,只要t0取很大的数,总能使式子0.01*(v/m)*ln[(L+t0*m)/L]大于1。
代码
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int T;
cin >> T;
while(T--){
int L,v,m;
cin >> L>>v >> m;
if(v>0) printf("YES\n");
else printf("NO\n");
}
return 0;
}