CF1182B Plus from Picture

题目描述

给定一个大小为 $w \times h$ 的图片,判断该图片中是否存在唯一的“+”形状。“+”形状的定义如下: - “+”形状有一个中心非空格子。 - 从中心出发的每个方向(左、右、上、下)都至少有一个连续的非空格子,即每个方向上都要有一条射线。 - 其他所有格子都是空的。 请判断给定的图片中是否存在唯一的“+”形状。

输入格式

第一行包含两个整数 $h$ 和 $w$($1 \leq h, w \leq 500$),分别表示图片的高度和宽度。 接下来的 $h$ 行中,第 $i$ 行包含一个长度为 $w$ 的字符串 $s_i$,仅由“.”和“\*”组成,其中“.”表示空格,“\*”表示非空格。

输出格式

如果图片满足所有条件,输出“YES”;否则输出“NO”。 输出时字母大小写均可。

说明/提示

在第一个样例中,图片中包含一个“+”形状。 在第二个样例中,两条竖直分支位于不同的列。 在第三个样例中,形状外部有一个点。 在第四个样例中,两条竖直分支的宽度为 $2$。 在第五个样例中,存在两个形状。 在第六个样例中,形状内部有空格。 由 ChatGPT 4.1 翻译