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相关推荐

  1. UVA445 Marvelous Mazes

    问题链接:UVA445 Marvelous Mazes. 题意简述:输入若干行字符串,将其转换为另外一个字符串输出.字符串中包括数字.大小写字母."*"."b" ...

  2. UVA445 JAVA版本 Marvelous Mazes

    自我标记:String数据结构的轻应用 辣鸡小玲的题解 利用CSND这个平台记录一下我的成长历程. UVA445 JAVA版本 Marvelous Mazes 水中之水,天河净水 题目我就不贴了,一搜 ...

  3. π-Algorithmist分类题目(1)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(1) Sorting UVAL ...

  4. 提取了下刘汝佳推荐的题号...

    今天闲来没事上uva oj提取了下刘汝佳推荐的acm题号,原始数据如下: Volume 0. Getting Started    10055 - Hashmat the Brave Warrior ...

  5. AOAPC I: Beginning Algorithm Contests 题解

    AOAPC I: Beginning Algorithm Contests 题解 AOAPC I: Beginning Algorithm Contests (Rujia Liu) - Virtual ...

  6. Marvelous Designer衣袖设计教程

    大小解压后:2.96G 持续时间3h 28m 包含项目文件 1280X720 MP4 语言:英语+中英文字幕(根据原英文字幕机译更准确) 标题:技能分享--卓越设计师大师班(袖子) 信息: 在我的课程 ...

  7. 如何网络监测其他计算机关闭445端口,关闭445端口的方法,教您电脑如何关闭445端口...

    系统有些端口是我们平时用不到,但是又存在危险的端口,例如139.135.445等端口,windows默认是开着的,如果不关闭就有可能"躺枪",那么如何关闭445端口,一般的用户都对 ...

  8. 135.137.138.139.445端口分析

    无论你的服务器中安装的是Windows 2000 Server,还是Windows Server 2003,它们无一例外会在默认安装下开通135端口.137端口.138端口.139端口和445端口.这 ...

  9. 用策略屏蔽135 139 445 3389端口+网络端口安全防护技

    默认情况下,Windows有很多端口是开放的,在你上网的时候,网络病毒和黑客可以通过这些端口连上你的电脑.为了让你的系统变为铜墙铁壁,应该封闭这些端口,主要有:TCP 135.139.445.593. ...

最新文章

  1. Java项目:网上商城系统(java+jsp+servlert+mysql+ajax)
  2. eclipse中启动tomcat出现错误的解决方法
  3. mongoose的基本操作
  4. 关于css加div布局和表格布局,菜鸟学习笔记:表格布局和div+css布局
  5. 用友 无法正确解析服务器,用友T3软件登陆软件时提示:“可能无法正确解析服务器名称或者相应的端口被禁用,请尝试输入服务器的IP地址”?...
  6. phalapi 数据库锁_phalApi数据库操作
  7. 将Office2010版EXCEL文件保存为2007版.XLS文件格式体积巨增解决方法
  8. ogg初始化mysql数据_利用OGG进行数据库表的初始化
  9. c语言编写烟花程序,C语言烟花程序
  10. 软件签名不一致是什么意思
  11. php导出合同模板到excel
  12. 电工与电子技术实验——单管交流电压放大电路
  13. 一个字形容大数据_中国大学校训大数据:最短的2个字,最长的28个字,10大高频汉字...
  14. 外接硬盘在电脑中不显示的解决方案
  15. 提莫攻击的中毒持续时间
  16. Google是如何做Code Review的
  17. tomcat乱码解决方案 tomcat 乱码
  18. ul、li显示图片标记
  19. 对计算机网络看法500字,500字信息技术学习评价
  20. 独家!华为、腾讯齐聚香港,一起密谋着什么?

热门文章

  1. 【算法与数据结构】汉诺塔问题Java实现
  2. 服务端关闭session的重要性
  3. Mysql VARCHAR(X) vs TEXT
  4. Ext.Net学习笔记06:Ext.Net DirectEvents用方补充
  5. 使用websploit在局域网全自动渗透
  6. run loop详解
  7. D - 小晴天老师系列——晴天的后花园
  8. 机器学习-斯坦福:学习笔记6-朴素贝叶斯
  9. 在main()之前,IAR都做了啥?
  10. 301重定向的好处: