zoukankan      html  css  js  c++  java
  • Uva 107 The Cat in the Hat

     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 }

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

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

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

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

    Donghua University
  • 相关阅读:
    cookie
    sql 语句
    页面宽高
    分页
    asp.net中如何防止用户重复点击提交按钮
    小试简单工厂模式之简单计算器
    用函数实现交换的疑问
    结构体变量输入输出的问题
    scanf函数输入float数需要注意的问题
    oracle学习手记(1)
  • 原文地址:https://www.cnblogs.com/ohxiaobai/p/4066334.html
Copyright © 2011-2022 走看看