题目名称 | 3691. 数列操作 C Plus Max |
---|---|
输入输出 | shuliecplusmax.in/out |
难度等级 | ★★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | lihaoze 于2022-06-28加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:1, 提交:2, 通过率:50% | ||||
lihaoze | 100 | 0.334 s | 5.96 MiB | C++ |
元始天尊 | 0 | 1.406 s | 3.27 MiB | C++ |
关于 数列操作 C Plus Max 的近10条评论(全部评论) | ||||
---|---|---|---|---|
给定一个 $N \times N$ 的矩阵 $A$,它的元素由 $0$ 或 $1$ 组成。$A(i, j)$ 表示第 $i$ 列,第 $j$ 行的数。我们默认 $A(i, j) = 0 \ (1 \leq i, j \leq N)$。
我们可以通过这样的方式修改矩阵。给定一个矩形,左上角的坐标是 $(x_1, y_1)$,右下角的坐标是 $(x_2, y_2)$,我们可以用“非”运算(在 C 语言中这个运算符号是 !)修改这个矩形内的元素。为了维护矩阵的信息,你要接受和执行两种操作:
1. C x1 y1 x2 y2
($1 \leq x_1 \leq x_2 \leq n, \ 1 \leq y_1 \leq y_2 \leq n$) 操作用来修改左上角的坐标是 $(x_1, y_1)$,右下角的坐标是 $(x_2, y_2)$ 的矩形。
2. Q x y
($1 \leq x, y \leq n$) 查询 $A(x, y)$。
第一行包含一个正整数 $t \ (t \leq 10)$,表示测试数据的个数,接下来有 $t$ 组数据。
在每组数据中,第一行包括两个整数 $n, \ m \ (2 \leq n \leq 1000, \ 1 \leq m \leq 50000)$,分别表示矩阵的大小和操作的数量。
接下来 $t$ 行每行包括一个操作,格式为 Q x y
和 C x1 y1 x2 y2
。
对于每一个操作 “Q”,输出一行一个整数 $A(x, y)$。
每两个测试数据之间用一行空格隔开
1 2 10 C 2 1 2 2 Q 2 2 C 2 1 2 1 Q 1 1 C 1 1 2 1 C 1 2 1 2 C 1 1 2 2 Q 1 1 C 1 1 2 1 Q 2 1
1 0 0 1
POJ Monthly,Lou Tiancheng,lhz翻译