#4295. 分瓶?(Split?)
分瓶?(Split?)
题目描述
小高正在玩保龄球。保龄球瓶从1到10编号。以下图片是保龄球瓶的俯视图排列:
我们称图中两条虚线之间的部分为一个"列"。
例如,1号瓶和5号瓶属于同一列,3号瓶和9号瓶也属于同一列。
当一些保龄球瓶被击倒时,可能会出现一种称为"分裂"的特殊情况。
如果满足以下两个条件,则保龄球瓶的排列被称为分裂:
-
1号瓶被击倒。
-
存在两个不同的列满足以下两个条件:
- 每列至少有一个保龄球瓶仍然站立。
- 这两列之间存在一列,该列的所有保龄球瓶都被击倒。
现在,给你一个长度为10的字符串表示保龄球瓶的排列。对于,如果第个保龄球瓶被击倒,则的第个字符为'0
',如果仍然站立,则为'1
'。
请判断所表示的保龄球瓶排列是否为分裂。
输入格式
输入。
输出格式
如果所表示的保龄球瓶排列是分裂,输出"Yes
";否则,输出"No
"。
样例
0101110101
Yes
0100101001
Yes
0000100110
No
1101110101
No
样例解释
【样例1说明】
在下图中,灰色表示被击倒的保龄球瓶,白色表示仍然站立的保龄球瓶:
在包含站立的5号瓶的列和包含站立的6号瓶的列之间,有一列包含3号和9号瓶。由于3号和9号瓶都被击倒,所以这个排列是分裂。
【样例2说明】
【样例3说明】
这个排列不是分裂。
【样例4说明】
这不是分裂,因为1号瓶没有被击倒。
数据范围
是一个长度为10的由'0
'和'1
'组成的字符串。
来源
- AtCoder ABC267B