ACM练习(7.3)
Posted suhang12138
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACM练习(7.3)相关的知识,希望对你有一定的参考价值。
1、字符串模块:
需要注意的小细节:
char型向int型转换:char->int:-‘0’
int型向char型转换:int->char:+‘0’
输入字符串getline(cin,s)
需要输入多个字符串时,看题目中字符串本身是否是结果中需要输出的内容,若不是,可不必定义多个字符串
题例1:数字反转问题(带符号数字:整数、分数、小数、百分数),分符号前后反转
解题要点:分为符号之前和符号之后两部分,标记符号的位置和保存符号,直接输出前半部分(四种情况均相同,反转时注意前缀0的问题),后半部分分四种情况输出
代码部分:(只通过了70%,应该是精度控制方面的问题...)
https://paste.ubuntu.com/p/6PcwCvfR2g/
题例2:字符匹配
解题要点:在匹配词和被匹配段的之前和之后都加上“ ”,此法可避免判断文章头和尾
代码部分:
2、递归与函数
l 理解题目很重要!
l 灵活寻找题中的规律,不一定暴力求解(题例:数的计算)
l 递归运算通常会出现时间超过限制的问题,可用递推灵活代替递归运用(题例:数的计算)
l 在某个范围内查找带有某种特征的数,一班情况下转换为在这个范围内制造这种特征数更为简便。(如查找1-1000内的回文数,可选择在1-1000内制造出带有回文特征的数)(题例:回文素数)
l 注意定义数据时长度范围超过的问题
l 递归与回溯的巧妙运用(题例:选数)
题例1:火柴棒等式
链接:https://paste.ubuntu.com/p/kX62qsGkF2/
题例2:回文素数
链接:https://paste.ubuntu.com/p/qhdsYNDP7J/
题例3:选数(解题要点:dfs深度优先搜索,递归思想)
链接:https://paste.ubuntu.com/p/KMdNdFDKwg/
题例4:数的计算(解题要点:寻找规律进行递推)
链接:https://paste.ubuntu.com/p/Gd9xDzGVQC/
以上是关于ACM练习(7.3)的主要内容,如果未能解决你的问题,请参考以下文章