洛谷P1098字符串的展开
1. 题目描述
题目过长在此展示不便。
详细内容见原题地址。
2. Notes
2.1. 简化条件判断
如果条件判断只需要if...else...
对立条件判断且每个子句里只有一句的话,可以考虑a?b:c
来简化过程。
2.2. 理解好单元化(unit)
在洛谷P1067多项式输出中说到有规律性的输出一些东西要有单元化(unit)模板化的思维。通过这个题可以再总结一下,衡量单元化的标准:
- 每次循环相当于处理一个单元。
- 每个单元的结构应该是类似的,可以构造成模板。
如本题中,每一个字符(字母,数字,-)可以作为一个单元,而形如a-d
这样需要特殊处理的格式就不适合作为一个单元,因为与不需要特殊处理的普通字符格式不兼容。
2.3. 代码要逐步完善
写代码时,对于题目中的要求,可以逐步完善,步步为营,可以一开始功能比较简陋,然后再补充,但是记得为了代码的精简,输出的位置尽量控制在同一个位置,不要有很多条件判断,对应不同的输出,这样一来代码冗长,二来即使写错了也修改不便。
比如在这个题目中,代码书写时,输出口cout<<c
只留了一个,先考虑简单的由参数p2
控制的输出个数,完成后再考虑由参数p3
控制的是否逆序,最后才考虑由参数p1
控制的字母大写和输出*。
3. 题解
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 协议 ,转载请注明出处!