Problem A
Hardwood Species
Hardwoods are the botanical group of trees that have broad leaves, produce a fruit or nut, and generally go dormant in the winter.
America’s temperate climates produce forests with hundreds of hardwood species – trees that share certain biological characteristics. Although oak, maple and cherry all are types of hardwood trees, for example, they are different species. Together, all the hardwood species represent $40$ percent of the trees in the United States.
On the other hand, softwoods, or conifers, from the Latin word meaning “cone-bearing,” have needles. Widely available US softwoods include cedar, fir, hemlock, pine, redwood, spruce and cypress. In a home, the softwoods are used primarily as structural lumber such as $2 \times 4$s and $2 \times 6$s, with some limited decorative applications.
Using satellite imaging technology, the Department of Natural Resources has compiled an inventory of every tree standing on a particular day. You are to compute the total fraction of the tree population represented by each species.
Input
Input to your program consists of a list of the species of every tree observed by the satellite; one tree per line. Names use only printable ASCII characters ($32$-$126$) and neither begin nor end with space. No name exceeds $20$ characters. There are no more than $10\, 000$ species and no more than $1\, 000\, 000$ trees.
Output
Print the name of each species represented in the population, in alphabetical order (by the ASCII ordering), followed by the percentage of the population it represents, accurate to an absolute error of at most $10^{-4}$.
Sample Input 1 | Sample Output 1 |
---|---|
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 |
Ash 13.793103 Aspen 3.448276 Basswood 3.448276 Beech 3.448276 Black Walnut 3.448276 Cherry 3.448276 Cottonwood 3.448276 Cypress 3.448276 Gum 3.448276 Hackberry 3.448276 Hard Maple 3.448276 Hickory 3.448276 Pecan 3.448276 Poplan 3.448276 Red Alder 3.448276 Red Elm 3.448276 Red Oak 6.896552 Sassafras 3.448276 Soft Maple 3.448276 Sycamore 3.448276 White Oak 10.344828 Willow 3.448276 Yellow Birch 3.448276 |