洛谷 UVA10226 Hardwood Species

洛谷评测传送门

题目描述

PDF

输入格式

输出格式

输入输出样例

输入 #1复制

输出 #1复制

题目翻译:

给定若干字符串,输出格式为:(按字典序)给出的字符串+这个字符串出现次数在给定字符串总数之中的占比。

注意:多组数据。

题解:

介绍三种东西:

第一种——字符串忽略空格只考虑回车的输入方式。

第二种——\(C++\,\,STL\,\,map\)容器。

第三种——字典树。

第一种:

字符串忽略空格只考虑回车的输入方式。

代码如下:

getline(cin,s);

(具体的使用方法可以去网上看,但是讲的都过于繁琐,各种流什么玩意的专业术语根本看不懂(可能是蒟蒻太弱了)),我个人认为大家只需要记住这个玩意的格式就可以。

这里的s指代的是\(C++STL\)中的\(string\)容器。如果有对这个容器还不是很了解的小伙伴,请移步本蒟蒻的这篇博客:

浅谈C++ STL string容器

第二种:

map容器。

如果有对map容器不是很熟悉的小伙伴请参考本蒟蒻的这篇博客:

详解C++ STL map容器

第三种:

字典树。

如果有对字典树还不是很了解的小伙伴请参考本蒟蒻的这篇博客:

详解字典树


好了,我们现在来说思路:

题目让我们统计字符串出现的次数,那么我们很容易想到\(map\)所构建的这种映射关系,建立一个\(map\)构建由\(string\)到\(int\)的一个映射就可以方便的统计这些信息。

最令人舒适的是,\(map\)自带的第一关键字排序正好支持\(string\)的字典序操作。简直不要太舒服!

于是得出了一份超短AC代码:

注:需要注意很多细节,多组数据很恶心,卡换行卡多换行,一定要仔细比照自己的代码和下面的程序到底一不一样。

#include<cstdio>
#include<map>
#include<iostream>
#include<string>
using namespace std;
int t,tot;
string s;
map<string,int> mp;
map<string,int>::iterator it;
int main()
{
scanf("%d\n",&t);
while(t--)
{
tot=0;
mp.clear();
while(1)
{
getline(cin,s);
if(s[0]=='\0')
break;
tot++;
mp[s]++;
}
for(it=mp.begin();it!=mp.end();it++)
{
double ans=(it->second)*100.0/tot;
printf("%s %.4lf\n",it->first.c_str(),ans);
}
if(t)
puts("");
}
return 0;
}

洛谷 UVA10226 Hardwood Species的更多相关文章

  1. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

  2. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  3. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  4. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  5. 洛谷P1710 地铁涨价

    P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交  讨论  题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...

  6. 洛谷P1371 NOI元丹

    P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交  讨论  题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...

  7. 洛谷P1538迎春舞会之数字舞蹈

    题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...

  8. 洛谷八月月赛Round1凄惨记

    个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...

  9. 洛谷 P1379 八数码难题 Label:判重&&bfs

    特别声明:紫书上抄来的代码,详见P198 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给 ...

随机推荐

  1. 如何正确的探索 Microsoft Ignite The Tour

    Microsoft Ignite The Tour 是一年一度微软为全球开发者.IT专家.安全专家以及数据专家提供的为期两天,包含众多核心产品的实践性技术培训.2019.12.10-2019.12.1 ...

  2. 模拟摄像头解码模块最新测试 TVP5150模块 FPGA+SDRAM+TVP5150+VGA 实现PAL AV输入 VGA视频输出

    模拟摄像头解码模块最新测试  TVP5150模块  FPGA+SDRAM+TVP5150+VGA  实现PAL AV输入 VGA视频输出 测试使用电视机顶盒的AV模拟信号输入,VGA显示器输出测试,效 ...

  3. Django 06

    目录 注意 聚合查询 分组查询 F与Q查询 orm字段和参数 自定义字段类型 事务 ACID 三大范式 开启事务 注意 只要和数据库相关的功能, 基本在 django.db.models 里面 聚合查 ...

  4. BIOS安全设置

    1.开机按F2进入BIOS 2.进入 Security 界面 3.Set user password 用户密码 开机密码 设置为123456 4.Set supervisor password 进BI ...

  5. 视频来了!Visual Studio Online 东半球首秀 @ .NET Conf 2019

    2019 年 11 月 9 日,.NET Conf 2019 中国峰会于上海中谷小南国花园酒店举行,全国的 .NET 大咖相聚上海. 这次我演讲的主题是<Visual Studio Code — ...

  6. Centos7上离线搭建PHP-7.2.26

    一.下载php源安装包,解压至/home/php目录下 下载地址:https://www.php.net/distributions/php-7.2.26.tar.gz [root@localhost ...

  7. UWP GraphQL数据查询的实现

    1. 缘起 Facebook 的移动应用从 2012 年就开始使用 GraphQL.GraphQL 规范于 2015 年开源,现已经在多种环境下可用,并被各种体量的团队所使用. 在这个链接可以看到更多 ...

  8. Flutter - You need to use a different version code for your APK or Android App Bundle because you already have one with version code 1.

    前两天提交了一个版本Google Play,结果今天收到拒绝的邮件,说App内购有问题. 于是把设置里面的支付宝和微信打赏功能关闭,又打了一个aab. 然后上传到Google Play,结果提示 Yo ...

  9. c++-面向对象:类和对象

    类和对象 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string.h> using names ...

  10. iOS核心动画高级技巧-4

    8. 显式动画 显式动画 如果想让事情变得顺利,只有靠自己 -- 夏尔·纪尧姆 上一章介绍了隐式动画的概念.隐式动画是在iOS平台创建动态用户界面的一种直接方式,也是UIKit动画机制的基础,不过它并 ...