HM242 逻辑搬运
HM242 逻辑搬运
来源: 第 242 集 内建函数对象-逻辑仿函数
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
逻辑仿函数实现逻辑运算,头文件 functional。一共三个:
logical_and:两个都真才为真,否则为假。logical_or:两个都假才为假,有一个真就为真。logical_not:真变假,假变真。
开发里它们用得不多,但 logical_not 可以配合 transform 做搬运中的取反。transform 的前三个参数是原区间起点、原区间终点、目标容器起点,第四个是仿函数。**目标容器必须先 resize 开辟空间**,否则没有容量,塞不进去。
布尔值在输出时按 \(1\) / \(0\) 看待。先输出原序列;再把序列用 logical_not 搬运到已开辟空间的另一容器并输出;然后对 \(m\) 对 \(0/1\) 分别用 logical_and、logical_or 计算。必须使用这些内建函数对象。
输入格式
第一行一个整数 \(n\)。
第二行 \(n\) 个 \(0\) 或 \(1\)。当 \(n=0\) 时本行可以是空行。
第三行一个整数 \(m\)。
接下来 \(m\) 行,每行两个 \(0\) 或 \(1\)。
输出格式
第一行:原序列。
第二行:取反后的序列。
随后 \(m\) 行,每行两个整数(and 的结果和 or 的结果),中间一个空格。
空序列对应的那一行只输出换行。
样例
输入 #1
4
1 0 1 0
2
1 1
0 1
输出 #1
1 0 1 0
0 1 0 1
1 1
0 1
输入 #2
1
0
1
0 0
输出 #2
0
1
0 0
说明
\(0 \le n \le 1000\),\(0 \le m \le 1000\)。
样例 #1 原序列 \(1\,0\,1\,0\),取反后 \(0\,1\,0\,1\)。true/false 本质就是 \(1\) 和 \(0\)。搬运前目标容器的大小必须先变成与原容器相同。
信息
- ID
- 1241
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者