首页 > 其他 > 详细

Uva 107 The Cat in the Hat

时间:2014-11-01 06:14:36      阅读:290      评论:0      收藏:0      [点我收藏+]
 1 #include <iostream>
 2 #include <cmath>
 3 using namespace std;
 4 int Height,WorkNum;
 5 int TotalNum;
 6 int AllCatsHeight,mid;
 7 int Left = 1,Right=10000;
 8 int main()
 9 {
10     while(cin>>Height>>WorkNum,Height+WorkNum){
11         TotalNum = 1;
12         AllCatsHeight = Height;
13         Left = 1,Right=10000000;
14         while(Left){
15             mid = (Left + Right)/2;
16             if(fabs(log(Height) * log(mid) - log(WorkNum)* log(mid + 1))<=0.00001)break;
17             if(log(Height) * log(mid) - log(WorkNum)* log(mid + 1)>0)Right = mid;
18             else Left = mid;
19         }
20         int Every = 1;
21         while(Height > 1){
22             Height /= (mid + 1);
23             Every *= mid;
24             AllCatsHeight += (Height * Every);
25             TotalNum += Every;
26         }
27         cout<<TotalNum - WorkNum<<" "<<AllCatsHeight<<endl;
28     }
29     return 0;
30 }

题意就不多说了,就是猫变猫。

做这个题需要的是数学好,,,,思路很简单。

做了好几个小时,老是超时,改动好多次才好,最后也不知道怎么好的,晕。

以后卡壳了还是做点别的换换思路,不能像今天一样熬这么长时间了,有点得不偿失,切记。

Uva 107 The Cat in the Hat

原文:http://www.cnblogs.com/ohxiaobai/p/4066334.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!