题目地址:
http://acm.hdu.edu.cn/showproblem.php?pid=1049
郁闷一下,第一次WA了,原来是没考虑到n小于u的情况,这种情况只需要1分钟。。。。
思路:这道题关键是找到规律,虫子爬出的时间一定是奇数,因为只有奇数时间的时候在上爬,干脆上代码,不啰嗦了。
CODE:
Code
1 #include <iostream>
2
3 using namespace std;
4
5 int main()
6
7 {
8
9 int n,u,d;
10
11 while(cin>>n>>u>>d&&n!=0)
12
13 {
14
15 int step = u-d;//这是一次净上升高度
16
17 int sum = u,cnt=0;
18
19 if(n<=u)//对n<u的情况做单独判断
20
21 {
22
23 cout<<"1"<<endl;
24
25 }
26
27 else
28
29 {
30
31 while((sum=sum+step)<n)
32
33 {
34
35 cnt++;
36
37 }
38
39 cnt++;
40
41 cout<<(cnt+1)*2-1<<endl;//自己揣摩一下
42
43 }
44
45
46
47
48 }
49
50 return 0;
51
52 }
53
54