当前位置: 首页 > news >正文

【POJ 2418】Hardwood Species 题解(映射)

描述
阔叶树是一种植物群,具有宽阔的叶子,结出果实或坚果,通常在冬天休眠。
美国的温带气候造就了数百种阔叶树种的森林,这些树种具有某些生物特征。例如,虽然橡树、枫树和樱桃都是硬木树,但它们是不同的物种。所有硬木树种加起来占美国树木的40%。
另一方面,软木,或针叶树,从拉丁语的意思是“圆锥轴承”,有针。可广泛使用的美国软木包括雪松、冷杉、铁杉、松树、红木、云杉和柏树。在家中,软木主要用作结构木材,如2x4s和2x6s,但装饰应用有限。
利用卫星成像技术,自然资源部编制了一份特定日期每棵树的清单。您需要计算每个物种所代表的树木种群的总比例。

输入
程序的输入包括卫星观测到的每棵树的物种列表;每行一棵树。物种名称不得超过30个字符。物种不超过10000种,树木不超过1000000棵。
输出
按字母顺序打印种群中所代表的每种物种的名称,后跟其所代表的种群百分比,精确到小数点后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

思路

用映射统计频数。

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;
}
http://www.lryc.cn/news/21314.html

相关文章:

  • React组件之间的通信方式总结(下)
  • 【RabbitMQ笔记07】消息队列RabbitMQ七种模式之Publisher Confirms发布确认模式
  • 【华为OD机试模拟题】用 C++ 实现 - IPv4 地址转换成整数(2023.Q1)
  • 闭包与高阶函数
  • 人工智能轨道交通行业周刊-第35期(2023.2.20-2.26)
  • 快慢指针判断链表是否有环
  • 《MongoDB入门教程》第26篇 聚合统计之$max/$min表达式
  • FPGA纯verilog解码SDI视频 纯逻辑资源实现 提供2套工程源码和技术支持
  • JVM篇之垃圾回收
  • 尝试用程序计算Π(3.141592653......)
  • 【异常检测三件套】系列3--时序异常检测综述
  • 关于SAP 错误日志解析
  • java:自定义变量加载到系统变量后替换shell模版并执行shell
  • Redis高级删除策略与数据淘汰
  • 社畜大学生的Python之pandas学习笔记,保姆入门级教学
  • 20_FreeRTOS低功耗模式
  • Hive的使用方式
  • Flume三大核心组件
  • 数据结构(六)二叉树
  • Docker buildx 的跨平台编译
  • 【java基础】方法重载和方法重写
  • Gradle7.4安装与基本使用
  • [系统安全] 虚拟化安全之虚拟化概述
  • 如何从零开始系统的学习项目管理?
  • 面试题-----
  • 线材-电子线载流能力
  • 单变量回归问题
  • ubuntu/linux系统知识(36)linux网卡命名规则
  • java的一些冷知识
  • java代理模式