poj 2814(字典树Hardwood Species)
来源:互联网 发布:框架图制作软件 编辑:程序博客网 时间:2024/06/01 13:23
Hardwood Species
Time Limit: 10000MS Memory Limit: 65536KTotal Submissions: 23210 Accepted: 9032
Description
Hardwoods(硬木) are thebotanical(植物学的) group of trees that have broad leaves, produce a fruit or nut, and generally godormant(休眠的) in the winter.
America's temperate(温和的) climates produce forests with hundreds of hardwoodspecies(物种) -- trees that share certainbiological(生物的)characteristics(特征). Although oak, maple andcherry(樱桃) 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(软木材), orconifers(针叶树), from the Latin word meaning "cone-bearing," have needles. Widely available US softwoods includecedar(雪松), fir,hemlock(铁杉), pine,redwood(红木树),spruce(云杉) andcypress(柏树). In a home, the softwoods are used primarily asstructural(结构的)lumber(木材) such as 2x4s and 2x6s, with some limiteddecorative(装饰性的) 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 totalfraction(分数) of the tree population represented by each species.
America's temperate(温和的) climates produce forests with hundreds of hardwoodspecies(物种) -- trees that share certainbiological(生物的)characteristics(特征). Although oak, maple andcherry(樱桃) 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(软木材), orconifers(针叶树), from the Latin word meaning "cone-bearing," have needles. Widely available US softwoods includecedar(雪松), fir,hemlock(铁杉), pine,redwood(红木树),spruce(云杉) andcypress(柏树). In a home, the softwoods are used primarily asstructural(结构的)lumber(木材) such as 2x4s and 2x6s, with some limiteddecorative(装饰性的) 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 totalfraction(分数) of the tree population represented by each species.
Input
Input(投入) to your program consists of a list of thespecies(物种) of every tree observed by the satellite; one tree per line. No species nameexceeds(超过) 30 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, inalphabetical(字母的) order, followed by the percentage of the population it represents, to 4decimal(小数) places.
Sample Input
Red AlderAshAspenBasswoodAshBeechYellow BirchAshCherryCottonwoodAshCypressRed ElmGumHackberryWhite OakHickoryPecanHard MapleWhite OakSoft MapleRed OakRed OakWhite OakPoplanSassafrasSycamoreBlack WalnutWillow
Sample Output
Ash 13.7931Aspen 3.4483Basswood 3.4483Beech 3.4483Black Walnut 3.4483Cherry 3.4483Cottonwood 3.4483Cypress 3.4483Gum 3.4483Hackberry 3.4483Hard Maple 3.4483Hickory 3.4483Pecan 3.4483Poplan 3.4483Red Alder 3.4483Red Elm 3.4483Red Oak 6.8966Sassafras 3.4483Soft Maple 3.4483Sycamore 3.4483White Oak 10.3448Willow 3.4483Yellow Birch 3.4483
Hint
This problem has huge input, use scanf instead of cin to avoid time limit exceeded.
Source
#include<iostream>#include<cstdio>#include<cstring>using namespace std;struct node{ int x; struct node *next[130]; node() { x=0; memset(next,0,sizeof(next)); }};struct node *root = NULL;int n;void build(char *s){ struct node *p=root,*tmp; for(int i=0;s[i];i++) { if(p->next[s[i]]==NULL) { tmp=new node; p->next[s[i]]=tmp; } p=p->next[s[i]]; } p->x++;};void dfs(node *root){ static char word[31]; static int pos; int i; if(root->x) //如果cnt不为0,则肯定找到了一个单词 { word[pos]='\0'; if(word[0]) printf("%s %.4lf\n",word,root->x*100*1.0/n); } for(i=0;i<128;i++) { if(root->next[i]) { word[pos++]=i; dfs(root->next[i]); pos--; } }}int main(){ char str[31]; n=0; root=new node; while(gets(str)&&str!="") { build(str); n++; } dfs(root); return 0;}
0 0
- poj 2814(字典树Hardwood Species)
- POJ 2418 Hardwood Species (字典树)
- POJ 2418 Hardwood Species(字典树)
- [字典树] poj 2418 Hardwood Species
- 【字典树】POJ 2418 Hardwood Species
- POJ 2418 Hardwood Species(字典树)
- POJ 2418 Hardwood Species (字典树||MAP)
- POJ-2418-Hardwood Species-字典树
- POJ 2418 Hardwood Species(字典树)
- POJ---2418-Hardwood Species(字典树)
- poj 2418 Hardwood Species 字典树
- POJ 2418 Hardwood Species【字典树 / map】
- POJ Hardwood Species 2418(字典树)
- Hardwood Species 字典树 poj 2418
- poj 2418 Hardwood Species(字典树)
- Hardwood Species(字典树)
- (模板题)poj 2418 Hardwood Species(字典树)
- POJ 2418 Hardwood Species (字典树 || map)
- 生成六位随机数
- 安卓学习笔记---解决Android签名混淆后WebView与JS交互失效的问题
- AngularJs 入门系列-1 使用 AngularJs 搭建页面基本框架
- SSA的优势
- Object类方法的简介
- poj 2814(字典树Hardwood Species)
- JavaWeb---编码
- json.loads 把str转换为json
- Java 线程协作 wait,notify,notifyAll,Sleep,Join,Condition
- POJ 1338(set, 最小优先队列的简单使用)
- 设计模式总览--Java版
- Android Studio 编译出现Your project path contains non-ASCII characters.
- OJ-----数字颠倒
- iOS 多线程总结(一)