最新消息:点击查看大S的省钱秘笈

Vijos P1393 盗窃-大海的奇迹 C语言版

Vijos题解 Slyar 72浏览 0评论

文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

背景 Background

怪盗基德 VS OIBH
第4话
只偷了3块宝石的基德当然不会善罢甘休,他与OIBH又开始了新一轮的对决!这次
的目标是The Blue Wonder(大海的奇迹)。在《怪盗基德·奇异的空中步行》一
集中,怪盗基德以悬空的姿态在众人面前出现。这次你要帮助基德再次悬空登场!

描述 Description

The Blue Wonder被OIBH悬空挂在大厅的天花板上,距地面有m米的高度。大厅是
一个圆形的半球顶房间,直墙高度为n米。大厅半径为r米。基德可以在直墙上的
任意一点移动,但不能移动到半球顶上。基德需要用一根细丝连上Blue Wonder
来走上去(好厉害啊,钢丝杂技)。需要你帮他计算细丝的最短长度。

输入格式 Input Format

一行,三个实数m,n,r。

输出格式 Output Format

一行一个实数min,表示细丝的最短长度。你需要把这个数保留到3位小数。

Tip:简单题,注意精度,要用double才行。。。一开始用了float给WA了。。。

#include <stdio.h>
#include <math.h>

int main(){
double m,n,r,min;
scanf("%lf%lf%lf",&m,&n,&r);
if (n>=m) min=r;
else min=sqrt(pow(r,2)+pow(m-n,2));
printf("%.3lf",min);
system("pause");
return 0;
}

转载请注明:Slyar Home » Vijos P1393 盗窃-大海的奇迹 C语言版

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址