牛客练习赛63-B牛牛的鱼缸

   日期:2020-05-11     浏览:116    评论:0    
核心提示:题目描述牛牛有一个长为l,宽为1,高为h的鱼缸,现在他想要在鱼缸中盛一些水。他想要知道这个鱼缸最多能够放多少水。当然这个问题太过于简单,所以牛牛将这个鱼缸放到了一个长为L,高为H的斜坡上面,如图所示,鱼缸宽度为1的这条边紧紧靠在斜坡与地面的交界线上。在不允许移动鱼缸与斜坡的情况下。鱼缸最多能够放多少水?忽略斜坡与鱼缸因为重心的影响而导致整个鱼缸打翻的情况,你可以认为鱼缸是粘在斜坡上面的,而斜坡粘在地面上无法移动。输入描述:仅一行,输入四个整数h,l,H,L(1<=h,l,H,L<=

题目描述

牛牛有一个长为l,宽为1,高为h的鱼缸,现在他想要在鱼缸中盛一些水。他想要知道这个鱼缸最多能够放多少水。

当然这个问题太过于简单,所以牛牛将这个鱼缸放到了一个长为L,高为H的斜坡上面,如图所示,鱼缸宽度为1的这条边紧紧靠在斜坡与地面的交界线上

在不允许移动鱼缸与斜坡的情况下。鱼缸最多能够放多少水?

忽略斜坡与鱼缸因为重心的影响而导致整个鱼缸打翻的情况,你可以认为鱼缸是粘在斜坡上面的,而斜坡粘在地面上无法移动。

输入描述:
仅一行,输入四个整数h,l,H,L(1<=h,l,H,L<=10^4 ),表示鱼缸的高度与长度,斜坡的高度与长度。
输出描述:
请输出一个实数,表示鱼缸最多能够放多少水,请输出水的体积。
示例1
输入
复制
1 2 1 2
输出
复制
1.00000000
备注:
你的答案正确,当且仅当你输出的值与答案的相对误差小于10^-6.

有坑,鱼缸的是和地面(也就是看不到的那一面)重合,鱼缸的长l和斜坡的斜边重合。而且要考虑水面是在对角线之下还是之上。

用相似三角形。

#include<bits/stdc++.h>
using namespace std;
double h,l,H,L;
int main(){
	cin>>h>>l>>H>>L;
	double i=(h*L)/H;
	double h1,s;
	if(i>l){//水超过对角线
		h1=(l*H)/L;
		s=h*l-h1*l/2;
	}
	else
		s=(h*i)/2;
	printf("%.8f",s);
	return 0;
 }
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服