题目名称 3944. 雪花
输入输出 snow.in/out
难度等级 ★☆
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2023-11-11加入
开放分组 全部用户
提交状态
分类标签
差分
分享题解
通过:7, 提交:23, 通过率:30.43%
Gravatarムラサメ 100 0.267 s 1.87 MiB C++
Gravatar┭┮﹏┭┮ 100 0.367 s 6.42 MiB C++
Gravatar┭┮﹏┭┮ 100 2.410 s 3.06 MiB C++
Gravatar元始天尊 100 2.557 s 3.06 MiB C++
Gravatar宇战 100 2.601 s 3.06 MiB C++
Gravatar黄天宇 100 2.696 s 12.00 MiB C++
Gravatar小金 100 2.804 s 2.60 MiB C++
Gravatar超人 90 0.205 s 2.10 MiB C++
Gravatar宇战 80 3.098 s 23.66 MiB C++
Gravatar超人 80 4.171 s 4.20 MiB C++
本题关联比赛
NOIP2023模拟赛4
关于 雪花 的近10条评论(全部评论)
用差分做要注意边界条件!!!
(写错了竟然还能得20)
Gravatarムラサメ
2023-11-16 13:19 1楼

3944. 雪花

★☆   输入文件:snow.in   输出文件:snow.out   简单对比
时间限制:2 s   内存限制:256 MiB

【题目背景】

下雪了!小 X 飞快地冲到雪地里接起了雪花。

【题目描述】

雪景可以表示成一个 $W \times H$ 的矩阵,从左到右、从上到下、从 $1$ 开始编号(也就是左上角为 $(1,1)$ )。每个位置初始要么是*表示这个位置有一片雪花,要么是-表示这个位置没有雪花。如果一片雪花已经在最底下一行了,也就是坐标为$ (H,A)$,那么下一秒它就会落到第 $A$ 块地面上;否则如果它目前的坐标是$ (x,y)$,那么它下一秒会落到 $\{(x + 1,y − 1),(x + 1,y),(x + 1,y + 1)\}$ 这三个位置中的一个上。注意,多片雪花可以在同一时刻位于同一坐标上。由于第 $0$ 列和第 $W +1$ 列都是高$H +1$的墙壁,雪花也不会飘出这个矩阵。

小 X 可以选择一个 $A$,站在第 $A$ 块地面上不动,并且接起落到第$ A$ 块地面上的全部雪花。小 X 心血来潮,想要问问你:如果他能够随意控制空中的雪花每一秒会落到什么位置的话,在选择了合适的站位的情况下,最多能接到多少片雪花?

【输入格式】

第一行两个正整数 $W$ 和 $H$ 表示矩阵大小,其中 $W$ 为宽度,$H$ 为高度。 接下来 $H$ 行,每行 $W$ 个字符表示雪景。

【输出格式】

输出数据仅有一行包含一个整数,表示最多能接到多少片雪花。

【样例1输入】

2 2
**
--

【样例1输出】

2

【样例1解释】

小X选择站在第$1$块地上。 第一秒,小X控制位于$(1,1)$和$(1,2)$的雪花都落到$(2,1)$。

第二秒,两片雪花都落到第$1$块地上,小X全部接到了。

当然,小X还有其他方法来接到全部雪花。

【样例2输入】

5 4
-----
*----
----*
-----

【样例2输出】

1

【样例3输入】

6 6
------
-*----
-*----
---***
*-----
-----*

【样例3输出】

5

【数据范围与约定】

对于测试点$1\sim 2$:$W=1,H\leq 100$。

对于测试点$3\sim 4$:$W,H\leq 10$。

对于测试点$5\sim 6$:$W,H\leq 100$。

对于测试点$7\sim 8$:$W\leq 50000,H\leq 100,雪花数量\leq 50000$。

对于测试点$9\sim 10$:$W\leq 50000,H\leq 500$。