樂山北京網(wǎng)站建設2022知名品牌營銷案例100例
描述
闊葉樹是一種植物群,具有寬闊的葉子,結(jié)出果實或堅果,通常在冬天休眠。
美國的溫帶氣候造就了數(shù)百種闊葉樹種的森林,這些樹種具有某些生物特征。例如,雖然橡樹、楓樹和櫻桃都是硬木樹,但它們是不同的物種。所有硬木樹種加起來占美國樹木的40%。
另一方面,軟木,或針葉樹,從拉丁語的意思是“圓錐軸承”,有針??蓮V泛使用的美國軟木包括雪松、冷杉、鐵杉、松樹、紅木、云杉和柏樹。在家中,軟木主要用作結(jié)構(gòu)木材,如2x4s和2x6s,但裝飾應用有限。
利用衛(wèi)星成像技術(shù),自然資源部編制了一份特定日期每棵樹的清單。您需要計算每個物種所代表的樹木種群的總比例。
輸入
程序的輸入包括衛(wèi)星觀測到的每棵樹的物種列表;每行一棵樹。物種名稱不得超過30個字符。物種不超過10000種,樹木不超過1000000棵。
輸出
按字母順序打印種群中所代表的每種物種的名稱,后跟其所代表的種群百分比,精確到小數(shù)點后4位。
Sample Input
Red Alder
Ash
Aspen
Basswood
Ash
Beech
Yellow Birch
Ash
Cherry
Cottonwood
Ash
Cypress
Red Elm
Gum
Hackberry
White Oak
Hickory
Pecan
Hard Maple
White Oak
Soft Maple
Red Oak
Red Oak
White Oak
Poplan
Sassafras
Sycamore
Black Walnut
Willow
Sample Output
Ash 13.7931
Aspen 3.4483
Basswood 3.4483
Beech 3.4483
Black Walnut 3.4483
Cherry 3.4483
Cottonwood 3.4483
Cypress 3.4483
Gum 3.4483
Hackberry 3.4483
Hard Maple 3.4483
Hickory 3.4483
Pecan 3.4483
Poplan 3.4483
Red Alder 3.4483
Red Elm 3.4483
Red Oak 6.8966
Sassafras 3.4483
Soft Maple 3.4483
Sycamore 3.4483
White Oak 10.3448
Willow 3.4483
Yellow Birch 3.4483
Hint
This problem has huge input, use scanf instead of cin to avoid time limit exceeded.
Source
Waterloo Local 2002.01.26
思路
用映射統(tǒng)計頻數(shù)。
AC代碼
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <map>
#define AUTHOR "HEX9CF"
using namespace std;int main()
{map<string, int> M;string name;int cnt = 0;while (getline(cin, name)){M[name]++;cnt++;}for (map<string, int>::iterator it = M.begin(); it != M.end(); it++){cout << it->first;printf(" %.4lf\n", (double)it->second * 100. / (double)cnt);}return 0;
}