Problem Y: STL 函数使用 —— fill()

Problem Y: STL 函数使用 —— fill()

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

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:
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