445 - Marvelous Mazes
2019独角兽企业重金招聘Python工程师标准>>>
题意:
根据输入画出迷宫.输入的字符串中包含字符和数字, 其中数字表示其后紧跟着的字符的重复次数(若连续出现两个以上的数字, 则把这些数字相加起来作为重复次数), b 表示空格, ! 表示换行.
不同的输入使用空行进行分隔, 输出的迷宫也需要使用空行进行分隔.
思路:
逐个字符分析, 若是数字, 则相加; 否则, 进行输出.
要点:
1. 使用 atoi 将字符转化为整数, 或者使用 (int)('c' - '0');
2. 从此题开始引入 #ifndef...#endif 条件编译. 因为 UVa 的系统都是 define 了 ONLINE_JUDGE 的, 所以像以下代码一样写, 可以保证在本地编译时是从文件读取, 而在 UVa judge 系统是按 cin 进行读取的. 这样可以大大提高调试效率, 避免每次都要重新输入所有的 input.
#ifndef ONLINE_JUDGEfreopen ("445_i.txt", "r", stdin); freopen ("445_o.txt", "w", stdout ); #endif
3. string 的 length() 和 size() 都同样返回字符串长度, 用 length() 是为了保持 C 的风格, 用 size() 则是为了保持 STL 的风格.
4. isdigit() 判断是否为数字. (<cctype>)
题目:
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=94&page=show_problem&problem=386
代码:
# include <iostream>
# include <cctype>
# include <cstdlib>
# include <string>
# include <cstdio>
using namespace std;
// 注意: atoi 转 char 为 int, <cstdlib>
// 可用 (int) (line[i] - '0') 来转化为整数
// 如果写成 while( !cin.eof() ) 就总是会报 wrong answer, 因为这样会多读入一个空行
int main(int argc, char const *argv[])
{#ifndef ONLINE_JUDGEfreopen ("445_i.txt", "r", stdin); freopen ("445_o.txt", "w", stdout ); #endifstring line;while( getline(cin, line) ){int characterCount = 0;for(int i=0; i<line.length(); i++){if(isdigit(line[i])){characterCount += line[i] - '0';}else if(line[i] == '!'){cout << endl;}else{for(int j=0; j<characterCount; j++){cout << ('b' == line[i] ? ' ' : line[i]);}characterCount = 0;}}cout << endl;}return 0;
}
环境:C++ 4.5.3 - GNU C++ Compiler with options: -lm -lcrypt -O2 -pipe -DONLINE_JUDGE
转载于:https://my.oschina.net/zenglingfan/blog/137783
445 - Marvelous Mazes相关推荐
- UVA445 Marvelous Mazes
问题链接:UVA445 Marvelous Mazes. 题意简述:输入若干行字符串,将其转换为另外一个字符串输出.字符串中包括数字.大小写字母."*"."b" ...
- UVA445 JAVA版本 Marvelous Mazes
自我标记:String数据结构的轻应用 辣鸡小玲的题解 利用CSND这个平台记录一下我的成长历程. UVA445 JAVA版本 Marvelous Mazes 水中之水,天河净水 题目我就不贴了,一搜 ...
- π-Algorithmist分类题目(1)
原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(1) Sorting UVAL ...
- 提取了下刘汝佳推荐的题号...
今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started 10055 - Hashmat the Brave Warrior ...
- AOAPC I: Beginning Algorithm Contests 题解
AOAPC I: Beginning Algorithm Contests 题解 AOAPC I: Beginning Algorithm Contests (Rujia Liu) - Virtual ...
- Marvelous Designer衣袖设计教程
大小解压后:2.96G 持续时间3h 28m 包含项目文件 1280X720 MP4 语言:英语+中英文字幕(根据原英文字幕机译更准确) 标题:技能分享--卓越设计师大师班(袖子) 信息: 在我的课程 ...
- 如何网络监测其他计算机关闭445端口,关闭445端口的方法,教您电脑如何关闭445端口...
系统有些端口是我们平时用不到,但是又存在危险的端口,例如139.135.445等端口,windows默认是开着的,如果不关闭就有可能"躺枪",那么如何关闭445端口,一般的用户都对 ...
- 135.137.138.139.445端口分析
无论你的服务器中安装的是Windows 2000 Server,还是Windows Server 2003,它们无一例外会在默认安装下开通135端口.137端口.138端口.139端口和445端口.这 ...
- 用策略屏蔽135 139 445 3389端口+网络端口安全防护技
默认情况下,Windows有很多端口是开放的,在你上网的时候,网络病毒和黑客可以通过这些端口连上你的电脑.为了让你的系统变为铜墙铁壁,应该封闭这些端口,主要有:TCP 135.139.445.593. ...
最新文章
- Java项目:网上商城系统(java+jsp+servlert+mysql+ajax)
- eclipse中启动tomcat出现错误的解决方法
- mongoose的基本操作
- 关于css加div布局和表格布局,菜鸟学习笔记:表格布局和div+css布局
- 用友 无法正确解析服务器,用友T3软件登陆软件时提示:“可能无法正确解析服务器名称或者相应的端口被禁用,请尝试输入服务器的IP地址”?...
- phalapi 数据库锁_phalApi数据库操作
- 将Office2010版EXCEL文件保存为2007版.XLS文件格式体积巨增解决方法
- ogg初始化mysql数据_利用OGG进行数据库表的初始化
- c语言编写烟花程序,C语言烟花程序
- 软件签名不一致是什么意思
- php导出合同模板到excel
- 电工与电子技术实验——单管交流电压放大电路
- 一个字形容大数据_中国大学校训大数据:最短的2个字,最长的28个字,10大高频汉字...
- 外接硬盘在电脑中不显示的解决方案
- 提莫攻击的中毒持续时间
- Google是如何做Code Review的
- tomcat乱码解决方案 tomcat 乱码
- ul、li显示图片标记
- 对计算机网络看法500字,500字信息技术学习评价
- 独家!华为、腾讯齐聚香港,一起密谋着什么?