10016 一本通 1 2 練習 3 燈泡

2021-09-03 01:45:28 字數 1101 閱讀 8003

【題目描述】

原題來自:zoj 3203

相比 wildleopard 的家,他的弟弟 mildleopard 比較窮。他的房子是狹窄的而且在他的房間裡面僅有乙個燈泡。每天晚上,他徘徊在自己狹小的房子裡,思考如何賺更多的錢。有一天,他發現他的影子的長度隨著他在燈泡和牆壁之間走到時發生著變化。乙個突然的想法出現在腦海裡,他想知道他的影子的最大長度。

【輸入格式】

輸入檔案的第一行包含乙個整數 t ,表示測試資料的組數。

對於每組測試資料,僅一行,包含三個實數 h,h 和 d,h 表示燈泡的高度,h 表示 mildleopard 的身高,d 表示燈泡和牆的水平距離。

【輸出格式】

輸出檔案共 t 行,每組資料佔一行表示影子的最大長度,保留三位小數。

【樣例輸入】

3

2 1 0.5

2 0.5 3

4 3 4

【樣例輸出】

1.000

0.750

4.000

【資料範圍與提示】t≤100,10^−2≤h,h,d≤103,10^−2≤h−h。

#include#include#includeusing namespace std;

double h,d,h;

double check(double x)//我們走到的點的位置

int main()

printf("%.3lf\n",check(r));

//check(l)和check(r)都可以,沒理解?

//大概是因為無限接近,並且直接的差小於10的-6次方

//所以保留三位不影響結果

} return 0;

}

一本通 1 2 練習 2 擴散

題目link 這道題雖說是二分裡的,但是我沒用二分的做法。首先我的想法是直接找到任意兩點之間的最大距離即可,但是後來寫完交上去發現不對,之後分析了一下發現兩個點成為同乙個連通塊是可以通過另外乙個連通塊更新距離的,因為另乙個連通塊也可以擴散,有點類似 floyd 更新完之後可以直接像第乙個思路一樣算了...

C 一本通 1 2 練習 2 擴散

一本通題庫 1437 libreoj 10015 計蒜客 t1882 vjudge 乙個點每過乙個單位時間就會向 4 個方向擴散乙個距離,如圖所示 兩個點 a b 連通,記作 e a b e a,b e a,b 當且僅當 a b 的擴散區域有公共部分。連通塊的定義是塊內的任意兩個點 u v 都必定存...

C 一本通 1 1 練習 3 線段

一本通題庫 1429 libreoj 10007 vjudge 在乙個數軸上有n nn條線段,現選取其中k kk條線段使得這k kk條線段兩兩沒有重合部分,問最大的k kk為多少?第一行為乙個正整數n nn,下面n nn行每行2 22個數字a ia i ai b ib i bi 描述每條線段。輸出檔...