首页 > 其他分享 >【POJ 2418】Hardwood Species 题解(映射)

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

时间:2023-12-12 13:32:10浏览次数:29  
标签:Hardwood 题解 Oak 3.4483 POJ 物种 White include Red

描述 阔叶树是一种植物群,具有宽阔的叶子,结出果实或坚果,通常在冬天休眠。 美国的温带气候造就了数百种阔叶树种的森林,这些树种具有某些生物特征。例如,虽然橡树、枫树和樱桃都是硬木树,但它们是不同的物种。所有硬木树种加起来占美国树木的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;
}

标签:Hardwood,题解,Oak,3.4483,POJ,物种,White,include,Red
From: https://blog.51cto.com/HEX9CF/8786611

相关文章

  • luogu P9753题解
    题意描述有一个字符串,请你求出有多少个字串可以经过若干次,使它变成空串其中每次操作可以从字符串中删除两个相邻的相同字符,操作后剩余字符串会拼接在一起。##思路1可以枚举左端点,再枚举右端点,一边枚举一边判断是否合法时间复杂度$O(n^2)$空间复杂度$O(n)$##思......
  • ARC166 B Make Multiples 题解
    LinkARC166BMakeMultiplesQuestion给出\(N\)个整数,\(A_1...A_N\),还有三个数\(a,b,c\)我们可以给\(A_i\)加上\(1\)需要使得数组\(A\)满足,存在一个数是\(a\)的倍数,一个数是\(b\)的倍数,一个数是\(c\)的倍数求最少的操作次数Solution考虑对于每个数的操作......
  • CF1901 D Yet Another Monster Fight 题解
    LinkCF1901DYetAnotherMonsterFightQuestion现在给你一堆怪物,你拥有法术(一个法术可以连续攻击这n个所有怪物),你可以选择任意一个怪物作为法术的第一个攻击目标(伤害为\(x\)),然后除了第一个攻击目标可以任意,其他攻击目标只能为曾经攻击目标的相邻怪物。然后伤害依次递减,\(x......
  • CF1764H Doremy's Paint 2 题解
    题目链接先断环成链,由于对于多组询问不好一起处理,我们先考虑单组询问的处理方式。一个很暴力的想法是每次模拟题目要求的操作并且最后数颜色,我们这是在通过下标进行操作最后再数颜色,而很多对于下标的操作都是不必要的,考虑直接枚举颜色进行判定。对于每种颜色,它对于最后答案有贡......
  • UVA1658 Admiral 题解
    LinkUVA1658AdmiralQuestion给出一个图,找出\(1\simn\)的两条,使得路径和最小Solution可以把点拆开,把除了\(1\)和\(n\)的点\(i\),拆成\(i\)和\(i'\),\(i\)到\(i'\)连一条费用为\(0\),容量为\(1\)的边,如果原来有一条边\(u-v\),那么就建立一条\(u'->v\),费......
  • P2341 受欢迎的牛 G 题解
    LinkP2341[USACO03FALL/HAOI2006]受欢迎的牛GQuestion牛栏中有\(N\)头奶牛,和一些\(M\)对爱慕关系,A->B表示A爱慕B。每个奶牛都喜欢自己,被所有奶牛喜欢就是一头明星奶牛,求明星奶牛的数量Solution考虑一个强连通分量里面的奶牛是相互爱慕的,先根据强连通分量缩点,缩......
  • 题解 QOJ1173【Knowledge Is...】 / accoders::NOI 5681【interval】
    https://qoj.ac/contest/537/problem/1173problem给定\(n\leq10^6\)个区间,你需要求出能够最多选出多少对区间,使得两个区间不交(区间为闭区间)。要求一个区间最多属于一对选出的区间。solution这是一般图匹配问题的特殊情况,所以放弃dp,考虑贪心、网络流、匹配等。按照左端点......
  • P5048 [Ynoi2019 模拟赛] 题解
    题意给定\(n\)个数,有\(m\)个询问,每个询问给定\(l\)和\(r\),求出区间\(l\)到\(r\)中的最小众数出现次数,强制在线。数据范围:\(n\le500000\),空间限制:\(62.5MB\)。思路这道题的弱化版是蒲公英,这道题加强的地方在于数据范围。正常的分块求区间众数的空间复杂度是\(O(n......
  • CF1842E Tenzing and Triangle 题解
    题意不多赘述。思路如果两个所选的三角形有重合部分的话,那么这种情况肯定是不会出现的。因为如果把这两个三角形合成一个大三角形的话,不仅覆盖面积会增大,而且花费的代价还不会多。于是我们可以想到用dp来解决,设\(dp_{i}\)表示删完横坐标为\(0\)到\(i\)中的点的最小代价......
  • [ABC304Ex] Constrained Topological Sort 题解
    题意给定一张有向图\(G\),有\(n\)个点和\(m\)条边,问是否存在一种拓扑序的排列\(P\)使得\(l_{i}\lep_{i}\ler_{i}\)。思路首先对于一条边\(u\tov\),如果限制满足\(r_{v}\ler_{u}\)或者\(l_{v}\gel_{u}\)的话,那么这个限制其实是不完全正确的。因为最终的序列......