博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU2708 Vertical Histogram
阅读量:6259 次
发布时间:2019-06-22

本文共 1325 字,大约阅读时间需要 4 分钟。

USACO 2003 February Orange

问题链接:。

问题简述:参见上述链接。

问题分析

这个题与POJ2136应该算是同一题,在HDU中测试数据有所不同:

1.输入的测试数据可能有多组;

2.结果的每一行,最后的空格不输出(坑的地方)。

统计四行输入的大写字母,根据统计结果输出柱状图。

该问题的关键是需要一定的想象力,将统计数据转换成相应的图形。

需要注意的一点是,如果出现次数最多字符的出现次数为max,则输出max行。这是关键的地方。

程序说明

  (略)。

AC的C++语言程序如下:

/* HDU2708 Vertical Histogram */#include 
#include
#include
#include
using namespace std;const int MAXN = 26;int acount[MAXN];int main(){ int linecount, max; string s, line; memset(acount, 0, sizeof(acount)); linecount = 0; while (getline(cin, s)) { // 统计字母 for(int i=0; i<(int)s.size(); i++)// if(isalpha(s[i]))// acount[s[i] - 'A']++; if(isupper(s[i])) acount[s[i] - 'A']++; // 每4行输出一次结果 if(++linecount == 4) { linecount = 0; // 计算最大的统计值 max = 0; for(int i=0; i
max) max = acount[i]; // 输出max行 for(int i=max; i>0; i--) { line = ""; for(int j=0; j
= i) line += "* "; else line += " "; } int k = line.size() - 1; while (line[k] == ' ') { line.erase(k, 1); k--; } cout << line << endl; } for(int i=0; i

转载于:https://www.cnblogs.com/tigerisland/p/7563938.html

你可能感兴趣的文章
qt 学习之路2
查看>>
线上应用故障排查之二:高内存占用
查看>>
异常处理汇总 ~ 修正果带着你的Code飞奔吧!
查看>>
PCIE_DMA:xapp1052学习笔记
查看>>
python ----字符串基础练习题30道
查看>>
uva-10879-因数分解
查看>>
python 调用aiohttp
查看>>
linux下文件的一些文件颜色的含义
查看>>
跨域iframe高度自适应(兼容IE/FF/OP/Chrome)
查看>>
学习鸟哥的Linux私房菜笔记(8)——文件查找与文件管理2
查看>>
升级fedora 18到fedora 19
查看>>
11月20日学习内容整理:jquery插件
查看>>
SVN与TortoiseSVN实战:补丁详解
查看>>
获取页面中所有dropdownlist类型控件
查看>>
读《淘宝数据魔方技术架构解析》有感
查看>>
[转载]如何破解Excel VBA密码
查看>>
【BZOJ】2563: 阿狸和桃子的游戏
查看>>
redis 中文字符显示
查看>>
顺序图【6】--☆☆
查看>>
Docker Swarm 让你事半功倍
查看>>