http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1281

题意 : 一个杯子,告诉你底面半径,顶端半径,杯子高度,里边装有的热水的量,让你求杯中水的高度

思路 : 就是一个简单的数学公式问题,也没有什么要特别注意的地方,杯子有两种形状,圆柱和圆台,圆柱的话直接用体积除以底面积即可得,而圆台的话,就这么去求肯定是求不出来的,所以就要用间接法,就是先把圆台补全,补成一个大圆锥,通过求小圆锥的高h0 = H*r/(R-r),就可以求出多补的小圆锥的体积v0 = (pi*h0*r*r)/3,数学上,这个小圆锥体积v与大圆锥的体积之比为高之比的3次方(v0+v)/v0 =((h+h0)/h0)^3,还有一个要注意的点是,若是水的体积大于杯子的体积那么求出的h将大于H,此时最大的h应该为杯子子的高度。

#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
double pi = acos(-1.0);
int main()
{
int t;
double r,R,H,V,h,h0,v0;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf%lf%lf",&r,&R,&H,&V);
if(r==R)
{
h = V/(pi*r*r);
}
else if(r<R)
{
h0 = H*r/(R-r);
v0 = (pi*h0*r*r)/;
h = h0*(pow((v0+V)/v0,1.0/)-);
}
if(h>H) h = H;
printf("%.6f\n",h);
}
return ;
}

SDUT1281Cup的更多相关文章

随机推荐

  1. bzoj 1132 POI2008 Tro

    大水题=_=,可我想复杂了…… 很裸的暴力,就是加了个小优化…… 叉积求面积 :abs(xi*yj - yi*xj) 所以去掉绝对值,把 xi 和 xj 提出来就可以求和了 去绝对值加个极角排序,每次 ...

  2. 使用 Time Machine 恢复 .ssh等隐藏文件夹

    重装MAC系统后,要恢复.ssh等文件夹内容,而其在“Finder”中又是默认隐藏的,这时我们可以先在“Finder”中使用“前往文件夹功能…”进入指定文件夹,然后再进入“Time Machine”进 ...

  3. 2015.1写留言板的时用的 知识点和函数 --->总结

    一:时间函数和uniqid() 1:uniqid():生成唯一的id, 无参数返回的字符串的长度为13,有参数为23 2:时间和时间戳相互转换的php函数 ①:time()  返回当前unix的时间戳 ...

  4. sail.js学习 - 一些问题

    问题: 一.数据填充: 在开发环境中,难免要填充一些基础数据用于测试用.现有两种方法 1.在bootstrap.js或者其他启动文件中创建一些数据 2.https://github.com/frost ...

  5. linux前景到底怎么样啊?

    我就不长篇大论,举四个例子你看看. 1.目下最热最潮最流行的云计算技术的背后是虚拟化和网格技术,而虚拟化和网格技术基本是Linux的天下,目前虚拟化的三大家:Vmware,Xen,Hyper-V中,市 ...

  6. Oracle计算两个整数的和与这两个整数的差与商

    PL/SQL(Procedural Language/SQL)是一种过程化语言. PL/SQL都是以(BLOCK)块为基本单位,整个PL/SQL块分为三部分 1.声明(Declare) 2.执行(以B ...

  7. 【转载】MySQL查询阻塞语句

    select r.trx_id waiting_trx_id, r.trx_mysql_thread_Id waiting_thread,        r.trx_query waiting_que ...

  8. Ubuntu中设置环境变量详解

    1, 为单一用户:.bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.打开用户主目录下的.bashrc,在这个文件中加入export PA ...

  9. How To Fix – Mcrypt PHP extension required in Laravel on Mac OS X (No MAMP)

    Laravel PHP web framework requires certain libraries to function properly. One of these libraries is ...

  10. ASP.NET MVC 学习第一天

    今天开始第一天学习asp.net mvc,写的不是很好,高手不要喷,希望大家能一起进步学习. 好了,开始学习 新建项目,选择mvc 4应用程序 接下来选择基本,视图引擎当然要选择Razor,如果在选择 ...