博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ NOI0113-04 垂直直方图(PKU2800)
阅读量:6520 次
发布时间:2019-06-24

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

问题链接

原题出处:。
总时间限制:
1000ms
内存限制:
65536kB
描述

输入4行全部由大写字母组成的文本,输出一个垂直直方图,给出每个字符出现的次数。注意:只用输出字符的出现次数,不用输出空白字符,数字或者标点符号的输出次数。

输入
输入包括4行由大写字母组成的文本,每行上字符的数目不超过80个。
输出
输出包括若干行。其中最后一行给出26个大写英文字母,这些字母之间用一个空格隔开。前面的几行包括空格和星号,每个字母出现几次,就在这个字母的上方输出一个星号。注意:输出的第一行不能是空行。
样例输入
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.THIS IS AN EXAMPLE TO TEST FOR YOURHISTOGRAM PROGRAM.HELLO!
样例输出
*                            *        *                   *        *                   *     *   *        *                   *     *   **       *     *             *     *   **       *     * *     * *   *     * * **       *   * * *     * *   * *   * * * **     * * * * * *     * * * * *   * * * *     * ** * * * * * * * * * * * * * * * * * * * * * * * * *A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
来源
翻译自USACO 2003 February Orange的试题。

问题分析

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

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

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

程序说明

  (略)。


参考链接:。


AC的C++语言程序:

/* POJ2136 Vertical Histogram */#include 
#include
#include
#include
using namespace std;const int MAXN = 26;int acount[MAXN];int main(){ int linecount, max; string s; 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--) { for(int j=0; j
= i) cout << "* "; else cout << " "; } cout << endl; } for(int i=0; i

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

你可能感兴趣的文章
Spring Integration概述
查看>>
[SAP ABAP开发技术总结]权限对象检查
查看>>
RDIFramework.NET ━ 9.6 模块(菜单)管理 ━ Web部分
查看>>
Android安全问题 静音拍照与被拍
查看>>
cocos2d-x 3.1.1 学习笔记[13] listen 监听器
查看>>
定制私人博客
查看>>
WTL介绍
查看>>
应用程序框架实战三十四:数据传输对象(DTO)介绍及各类型实体比较(转)
查看>>
放量滞涨,抛出信号
查看>>
BeanFactory not initialized or already closed - call 'refresh' before accessing beans解决办法
查看>>
dSYM 文件分析工具
查看>>
R语言合并data.frame
查看>>
linux主机下的Vmware Workstation配置NAT设置 端口映射-Ubuntu为例
查看>>
unity physics joint
查看>>
TD的访问地址
查看>>
JAVA常见面试题之Forward和Redirect的区别
查看>>
tmpFile.renameTo(classFile) failed 错误
查看>>
【甘道夫】Apache Hadoop 2.5.0-cdh5.2.0 HDFS Quotas 配额控制
查看>>
一张图看懂normal,static,sealed,abstract 的 区别
查看>>
Task的使用
查看>>