HM257 按条件换值
HM257 按条件换值
来源: 第 257 集 常用拷贝和替换算法-replace_if
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
replace_if 按条件替换:区间内凡是满足谓词的元素,都换成指定的新值。四个参数:起始迭代器、结束迭代器、谓词、新值。谓词返回布尔值。算法在算法头文件中。
仿函数用来灵活筛选。本题条件是**大于等于**阈值 \(L\):满足则换成新值,不满足则留下。把谓词写成函数对象,阈值由输入决定,不要写死。明天若改成小于等于,只需换一个仿函数,算法调用方式不变。
先输出替换前的序列,再对整段调用 replace_if,再输出替换后的序列。
输入格式
第一行三个整数 \(n\)、\(L\)、\(new\)。
第二行 \(n\) 个整数。当 \(n=0\) 时本行可以是空行。
输出格式
共两行:
- 替换前的序列;
- 替换后的序列。
同一行内用单个空格分隔,行末换行。空序列对应的那一行只输出换行。
样例
输入 #1
7 30 3000
20 30 50 40 10 20 60
输出 #1
20 30 50 40 10 20 60
20 3000 3000 3000 10 20 3000
输入 #2
3 100 0
1 2 3
输出 #2
1 2 3
1 2 3
说明
\(0 \le n \le 1000\),元素、阈值与新值的绝对值不超过 \(10^9\)。
样例 #1:大于等于 \(30\) 的 \(30,50,40,60\) 都换成 \(3000\),两个 \(20\) 和一个 \(10\) 留下。
信息
- ID
- 1256
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者