Problem Y: STL 函数使用 —— fill()
[Creator : ]
Description
【介绍】
【头文件】
Standard Template Library: Algorithms#include<algorithm>
【作用】
Fill range with value, Assigns val to all the elements in the range [first,last).
注意:STL 函数都是左闭右开。 template <class ForwardIterator, class T> void fill (ForwardIterator first, ForwardIterator last, const T& val);
【任务】
我们通过本题,掌握 fill() 函数使用方法。具体要求,请查看输入部分。
Input
第一行给一个整数 $n\ (10^2 \leq n \leq 10^3),\ m\ (10^3 \leq m \leq 10^3)$。表示我们有一个长度为 $n$ 的数列,该数列的初始数据都为 $0$。我们有 $m$ 次操作。
接下来 $m$ 行,每行表示一种操作。
操作 1:
操作 2:
接下来 $m$ 行,每行表示一种操作。
操作 1:
1 first last val表示我们将数列 [first, last] 的数据设置为 val。
操作 2:
2 first last输出数列 [first, last] 当前数值。
Output
对于每个操作 2,输出数列当前数值。
Sample 1 Input
20 7
2 1 20
1 3 10 8
2 1 20
1 5 8 7
2 1 20
1 18 20 31
2 1 20
Sample 1 Output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 8 8 8 8 8 8 8 8 0 0 0 0 0 0 0 0 0 0
0 0 8 8 7 7 7 7 8 8 0 0 0 0 0 0 0 0 0 0
0 0 8 8 7 7 7 7 8 8 0 0 0 0 0 0 0 31 31 31