HM257 按条件换值

HM257 按条件换值

HM257 按条件换值

来源: 第 257 集 常用拷贝和替换算法-replace_if

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

replace_if 按条件替换:区间内凡是满足谓词的元素,都换成指定的新值。四个参数:起始迭代器、结束迭代器、谓词、新值。谓词返回布尔值。算法在算法头文件中。

仿函数用来灵活筛选。本题条件是**大于等于**阈值 \(L\):满足则换成新值,不满足则留下。把谓词写成函数对象,阈值由输入决定,不要写死。明天若改成小于等于,只需换一个仿函数,算法调用方式不变。

先输出替换前的序列,再对整段调用 replace_if,再输出替换后的序列。

输入格式

第一行三个整数 \(n\)、\(L\)、\(new\)。

第二行 \(n\) 个整数。当 \(n=0\) 时本行可以是空行。

输出格式

共两行:

  1. 替换前的序列;
  2. 替换后的序列。

同一行内用单个空格分隔,行末换行。空序列对应的那一行只输出换行。

样例

输入 #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
通过率
?
上传者