火炬手之梦

这道题目是Vijos里来的。P1433。刚看到的时候吓了一跳,仔细一看竟然发现这是数学问题。


题目描述

十八居士做的第4个梦是成为了一名火炬手。恰巧奥组委还有最后一个火炬手的名额,于是各路高手群雄逐鹿争夺这个名额,clever的十八居士过五关斩六将,与另一高手会师决赛。裁判把他们带到一个神秘密码门前,只要谁先打开这个门,门里的祥云火炬就属于谁。只见密码门上写着一个提示:“密码:f(x)=sqrt((x+a)^2+b)+sqrt((x+c)^2+d)的最小值。”两人面面相觑,怎么做啊这?于是十八居士找到了会编程的你,请你帮他解决问题。


输入格式

由键盘读入a,b,c,d四个常数(b,d为完全平方数,0<a,b,c,d≤10000)


输出格式

f(x)的最小值(保留3位小数)。


样例输入

1 1 3 4


样例输出

3.606


时间限制/内存限制

1S / 128Mb


这道题目直接套用数学公式即可,代码如下:

#include <stdio.h>
#include <math.h>
int main()
{
    int a,b,c,d;
    float x;
    scanf("%d%d%d%d",&a,&b,&c,&d);
    printf("%.3f",sqrt((a-c)*(a-c)+(sqrt(b)+sqrt(d))*(sqrt(b)+sqrt(d))));
    return 0;
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值