UVa 10370
題目
http://domen111.github.io/UVa-Easy-Viewer/?10370
有 $C$ 個班級,每個班級有 $N$ 個學生
給定 $N$ 個學生的成績,輸出每個班級有多少百分比的學生成績比班平均還高
想法
每個班級的成績都可以算出一個平均,算出成績後一個一個比對誰的成績比平均高,每遇到一個就紀錄下來
有了紀錄的數量以及班級學生的總數,就可以算出答案囉!
不過要特別注意兩個地方
- 我們的平均以及答案的比例都可能會有小數,所以要用
double
來儲存 - 輸出要四捨五入到小數點後第三位,記得要用
fixed
和setprecision
Code
1 |
|
時間複雜度分析
有 $C$ 個班級,每個班級有 $N$ 筆成績要輸入,輸入的時間複雜度為 $O(CN)$
每次算出平均後,需要一個一個比對有多少大於平均的成績,時間複雜度為 $O(N)$
總時間複雜度為 $O(CN+N)$ , 約為 $O(CN)$