火炬手之夢

這道題目是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;
}


發佈了35 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章