涂色游戏

涂色游戏

混氏新子 蒟蒻

link

这道题很简单,略微思考就可以知道一个方块的颜色是由横坐标上的颜色或者是纵坐标上的颜色决定的,我们只需要开两个数组记录一下横和纵各最后一次涂的颜色和涂的时间,然后一个点的颜色由时间最晚的那个决定就行了。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include<bits/stdc++.h>
using namespace std;
#define N 100010
int h[N], l[N], ht[N], lt[N]; //横颜色,纵颜色,横时间,纵时间
int n, m, t, q;
int opt, x, c;
int main() {
scanf("%d", &t);
while (t--) {
scanf("%d%d%d", &n, &m, &q);
memset(h, 0, sizeof(int) * (n + 1)); //记得清空
memset(l, 0, sizeof(int) * (m + 1));
memset(ht, 0, sizeof(int) * (n + 1));
memset(lt, 0, sizeof(int) * (m + 1));
for (int i = 1; i <= q; ++i) {
scanf("%d%d%d", &opt, &x, &c);
if (opt) { //横/纵
l[x] = c;
lt[x] = i;
} else {
h[x] = c;
ht[x] = i;
}
}
for (int i = 1; i <= n; ++i) { //输出
for (int j = 1; j <= m; ++j) {
printf("%d ", (ht[i] > lt[j]? h[i] : l[j]));
}
putchar('\n');
}
}
return 0;
}
  • 标题: 涂色游戏
  • 作者: 混氏新子
  • 创建于 : 2023-04-15 18:25:29
  • 更新于 : 2023-09-24 19:14:16
  • 链接: https://blog.huasushis.cn/2023/涂色游戏/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
此页目录
涂色游戏