uva815
flooded!
這題就很不錯,雖然最後輸出浮點數,但是不同精度控制。
還有這題的背景倒是挺不錯的。
為了讓買房者心裡對房子被洪水淹了的情況有個譜,某家公司給住戶提供了乙個單元格大小為10公尺乘10公尺的沙盤區域,所有的新房都會建在單元格中。洪水可能來自雨水、雪水和自來水。洪水都會先把海拔最低的房子淹了(因為水往低處流)。因此為了簡便,我們假設這種情況成立,並且水不會滲入到地下。
從天氣預報可以得知該區域總的洪水量,從買房者的角度來看,最後需要確認洪水在此區域中的最終海拔,以及由多少單元格沒洪水完全淹沒(水的海拔高度嚴格大於該區域的海拔)
輸入m
和n
表示區域大小,然後再輸入每個單元格的海拔,最後輸入洪水的體積(單位立方公尺);輸出洪水的最終海拔,以及淹沒百分比。
如果不容易理解的話可以想象成樓梯,水位沒過了第一級台階,才會繼續沒過第二級台階。沒過第一級台階需要的水量是乙個台階的體積,在此基礎上沒過第二級台階需要的水量是2個台階體積。
#include
#include
#include
#include
using
namespace std;
intmain()
}sort
(vielevation.
begin()
, vielevation.
end())
; size_t volume, elevation, cubic, cnt =1;
double dhigh, dpercent;
cin >> volume;
for(
; cnt < vielevation.
size()
; cnt++
) dhigh =((
double
)volume)
/ cnt /
100+ vielevation[cnt -1]
; cout <<
"region "
<< region++
<< endl;
cout <<
"water level is "
<<
setprecision(2
)<< fixed << dhigh <<
" meters."
<< endl;
cnt =0;
for(
auto i : vielevation)
dpercent =((
double
)cnt)
/ vielevation.
size()
*100.0
; cout << dpercent <<
" percent of the region is under water."
<< endl;
cout << endl;
}return0;
}/*3 325 37 45
51 12 34
94 83 27
10000
0 0*/
演算法競賽入門經典習題2 6
用1,2,3,9組成3個三位數abc,def和ghi,每個數字恰好使用一次,要 求abc def ghi 1 2 3。按照 abc def ghi 的格式輸出所有解,每行乙個解 思路 如果首先要保證每個數字都用一次,那麼這個題就會變得很麻煩,所以就先讓abc,def,ghi產生倍數關係然後對 這三個...
演算法競賽入門經典 習題3 7
uva1368 dna consensus string 本來以為題目是要在已有序列中找乙個最小的序列,後來仔細讀了下題才發現是要構造乙個距離最小的序列。感覺這道題應該就是貪心演算法吧?每一位和已有序列的對應位差得越少,總體也就越少。include include include include u...
演算法競賽入門經典 習題4 6
uva508 morse mismatches 各種地方描述的這道題目不一樣。精確匹配時,有的地方說輸出最短的 長度相同再按照字典序排序 有的地方說輸出字典序最小的 模糊匹配時,必須是刪除最少字元後完全匹配,或者增加最少字元後精確匹配才可以輸出,輸出跟字典序好像沒關係 udebug上的測試用例就是先...