HDU 5060 圆柱和圆求交
来源:互联网 发布:php 面向接口编程 编辑:程序博客网 时间:2024/06/05 08:10
思路 : 分5中情况讨论 ,两种情况是完全包含的 , 另外三种情况是部分包含的, 需要积分一下
比赛的时候写的辛普森 = = 不是TLE就是WA ...
早知道就直接算了
#include <stdio.h>#include <string.h>#include <algorithm>#include <math.h>using namespace std;#define PI acos( -1.0 )inline double f( double r , double y ) {return PI * ( r * r * y - 1 / 3.0 * y * y * y ) ;}int main(){double r , hr , hz ;while( scanf( "%lf%lf%lf" , &r , &hr , &hz ) != EOF ) {double vr = 4 / 3.0 * PI * r * r * r ;double vh = PI * hr * hr * hz * 2 ;double ans ;if( r <= hr && r <= hz ) {ans = vr / vh ;}else if( hr * hr + hz * hz <= r * r ) {ans = vh / vr ;}else if( hz >= r && hr <= r ) {double hh = sqrt( r * r - hr * hr ) ;double vc = 2 * hh * PI * hr * hr ;vc += 2 * ( f( r , r ) - f( r , hh ) ) ;double vu = vr + vh - vc ;ans = vc / vu ;}else if( r >= hz && r <= hr ) {double vc = 2 * ( f( r , hz ) - f( r , 0 ) ) ;double vu = vr + vh - vc ;ans = vc / vu ;}else{double hh = sqrt( r * r - hr * hr ) ;double vc = 2 * hh * PI * hr * hr ;vc += 2 * ( f( r , hz ) - f( r , hh ) ) ;double vu = vr + vh - vc ;ans = vc / vu ;}printf( "%f\n" , ans ) ;}return 0 ;}
0 0
- HDU 5060 圆柱和圆求交
- 【HDU】5060 War 求圆柱和圆的体积交与体积并
- hdu 5060 求球与圆柱相交体积
- 圆柱
- C#绘制圆柱和曲线
- 求圆柱面积和体积
- 创建一个圆和圆柱
- 三维圆柱坐标和球坐标
- C#透明图片绘制和圆柱绘制
- 已知圆柱的地面半径r和高h,求圆柱的表面积
- 第十一周项目1.3增加圆柱类求圆柱的表面结和体积
- 12--7圆柱体积和面积(有点难度)
- zoj 1904 Beavergnaw 计算圆柱和圆台的体积
- PCL添加指定高度和切片数的圆柱
- 求矩形和圆柱的体积(用到了接口)
- 圆柱类
- 圆柱类
- 圆柱类
- 我也有博客了 *-* ,哈哈
- git clone 遇到Protocol https not supported or disabled in libcurl,何解
- 每周精选编程技术文章与资源_9月29日至10月05日
- 缩进!!全篇用同样的缩进!!
- Android开发之GitHub开源下拉刷新Android-PullToRefresh使用总结
- HDU 5060 圆柱和圆求交
- HDOJ 1015 Safecracker
- 基础算法--顺推法
- Java抽象类与接口的区别
- c语言中没有string类型变量怎么办?没有bool怎么办?
- nyoj 610 定长覆盖 && 贪心问题系列
- HDU 4781 Assignment For Princess(YY乱搞)
- hdu 2167(状态压缩dp)
- 计算机基础知识(一)——进制转换