map 树木品种

树木品种

TimeLimit: 1 Second   MemoryLimit: 32 Megabyte

Totalsubmit: 517   Accepted: 120

Description

硬木是一种宽叶林木,生产水果或坚果,而且在冬天冬眠。

美国的温带气候生产出数百种的硬木森林,也就是有着某些共同的生物学特性的树木群。虽然橡木,枫木,樱桃都是硬木树种类型,但是,它们是不同的物种。总之,所有的硬木树种占据了美国百分之四十的树木。

另一方面,软木或针叶树(针叶来自拉丁词,意思是“锥轴承”)它们的叶子呈针状,在美国广泛使用的软木包括雪松,冷杉,铁杉,松,红杉,云杉和桧。在家里,软木主要用于结构性木材,如2x4s和2x6s,和一些装饰。

利用卫星成像技术,自然资源部记录一天中每一颗树的目录。你要计算出每个品种树木的数量。

Input

输入中包括一列由卫星观察到的每天各颗树的品种,每棵树一行。品种名称少于30个字符。品种数目不超过10,000 树木总数不超过1,000,000.

Output

按字母顺序输出树木的品种,然后是这种品种在整体中占的比例,精确到四位小数。

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.

 1 #include <iostream>
 2 #include <string>
 3 #include <map>
 4 #include <cstdio>
 5 using namespace std;
 6 int main() {
 7     map<string, int> mapp1;
 8     string s;
 9     int count = 0;
10     while(getline(cin, s)){
11         mapp1[s]++;
12         count++;
13     }
14     cout.setf(ios::fixed);
15     cout.precision(4);
16     for(map<string, int>::iterator it = mapp1.begin(); it != mapp1.end(); it++){
17         double per = 100 * ((double)it->second / (double)count);
18         cout << it->first << " " << per << endl;
19     }
20     return 0;
21 }

时间: 2024-12-19 22:23:22

map 树木品种的相关文章

25.使用Iterator和增强型for循环遍历Map集合

/** * 宠物类,狗狗和企鹅的父类. */ public abstract class Pet { protected String name = "无名氏";// 昵称 protected int health = 100;// 健康值 protected int love = 0;// 亲密度 public abstract void eat(); //抽象方法eat(),负责宠物吃饭功能. /** * 无参构造方法. */ public Pet() { } /** * 有参构造

bzoj:1656: [Usaco2006 Jan] The Grove 树木

Description The pasture contains a small, contiguous grove of trees that has no 'holes' in the middle of the it. Bessie wonders: how far is it to walk around that grove and get back to my starting position? She's just sure there is a way to do it by

【机器学习基本理论】详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解

https://mp.csdn.net/postedit/81664644 最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum a posteriori estimation, 简称MAP)是很常用的两种参数估计方法,如果不理解这两种方法的思路,很容易弄混它们. 下文将详细说明MLE和MAP的思路与区别.先讲解MLE的相应知识. 但别急,我们先从概率和统计的区别讲起. 1概率和统计是一个东西吗?   概率(probabilt

(转)简述47种Shader Map的渲染原理与制作方法

在Shader中会使用各种不同图参与渲染,所以简单地总结下各种图的渲染原理.制作方法,最后面几种是程序生成图. 1. Albedo 2. Diffuse(Photographic) 从上图可以看出来,Albedo是去掉Diffuse的光照和阴影生成的,而在pbr工作流下必须要用Albedo. 转换方法:How to Make an Albedo Texture from a Diffuse Texture 3. Alpha Map 注意:jpg没有alpha通道,png也没有alpha通道,显示

python练习之map()和reduce()函数

利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']: 1 def normalize(name): 2 name=name.lower() 3 name=name[0].upper()+name[1:] 4 return name 5 6 7 8 9 10 # 测试: 11 L1 = ['adam', 'LISA', 'barT'] 12 L2 = l

ArrayList以及Map小练

ArrayList常用方法 public static void main(String[] args) { List list = new ArrayList(); List list1 = new ArrayList(); for (int i = 0; i < 5; i++) { list.add(i, "string"+i);//add(E e)向某集合的尾部追加 list1.add(i, "string"+(i+10)); } List list2

python之Map函数

# map()函数使用举例 # 功能:map()接受一个函数f和一个或多个list,将f依次作用在list的每个元素,得到一个新的列表 # 语法:map(方法名,列表,[列表2]) # 注意:map()函数的返回值需要强制转换成list类型,且不改变原列表值 list_1 = [1, 2, 3, 4, 5] list_2 = [1, 2, 3, 4, 5] # 单个参数 def double_function(number): return number * 2 list_result = li

14:Challenge 7(map大法好)

总时间限制:  10000ms 单个测试点时间限制:  1000ms 内存限制:  262144kB 描述 给一个长为N的数列,有M次操作,每次操作是以下两种之一: (1)修改数列中的一个数 (2)求数列中某个值出现了多少次 输入 第一行两个正整数N和M.第二行N的整数表示这个数列.接下来M行,每行开头是一个字符,若该字符为'M',则表示一个修改操作,接下来两个整数x和y,表示把x位置的值修改为y:若该字符为'Q',则表示一个询问操作,接下来一次整数x,表示求x这个值出现了多少次. 输出 对每一

数据结构Set和Map

一.数据结构 Set 集合的基本概念:集合是由一组无序且唯一(即不能重复)的项组成的.这个数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中.  特点:key 和 value 相同,没有重复的 value.ES6 提供了数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. 1. 如何创建一个 Set const s = new Set([1, 2, 3]); 2.属性 console.log(s.size); // 3 3.Set 类的方法 --set.add(v