CF926C Is This a Zebra?
题目描述
你不小心把相机落在了沙漠里,结果它拍了一张有趣的照片。这张照片的分辨率为 $n$ 像素宽,每一列要么全是白色,要么全是黑色。因此,我们可以用一个长度为 $n$ 的 $0$ 和 $1$ 组成的序列来表示这张照片,其中 $0$ 表示对应的列全是白色,$1$ 表示对应的列全是黑色。
你认为这张照片可能拍到了斑马。如果是这样的话,整张照片应该由若干(也可能只有一条)宽度相等、黑白相间的条纹组成。例如,照片 $[0,0,0,1,1,1,0,0,0]$ 可能是一张斑马的照片,而 $[0,0,0,1,1,1,1]$ 则不可能,因为黑色条纹的宽度是 $3$,而白色条纹的宽度是 $4$。给定一张照片,判断它是否可能是一张斑马的照片。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 100000$),表示照片的宽度。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \leq a_i \leq 1$),表示照片的描述。如果 $a_i$ 为 $0$,则第 $i$ 列全是白色;如果 $a_i$ 为 $1$,则第 $i$ 列全是黑色。
输出格式
如果这张照片可能是一张斑马的照片,输出 "YES"(不带引号);否则输出 "NO"。
你可以用任意大小写输出答案。
说明/提示
前两个样例已在题目描述中给出。
在第三个样例中,所有像素都是白色,因此这张照片可以是一张斑马的照片。
在第四个样例中,第一条条纹的宽度为 $3$(白色),第二条条纹的宽度为 $3$(黑色),第三条条纹的宽度为 $2$(白色)。因此,并不是所有条纹的宽度都相等,所以这张照片不是一张斑马的照片。
由 ChatGPT 4.1 翻译