测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7691. [ABC267B] Split?

编程题 入门

题目描述

保龄球的球瓶从 $1$ 到 $10$ 编号,从上方看时的排列如下图所示。

![0](/uploads/acgo/image/df42f45bfd194c9dac61be1000b848a6_1a9c48fa44f4.png)

我们将图中两条虚线之间的部分称为**列**。
例如,球瓶 $1,\ 5$ 和球瓶 $3,\ 9$ 分别位于同一列。

在一些球瓶倒下的状态中,有一种特殊情况被称为**“分裂”(Split)**。
当且仅当满足以下所有条件时,球瓶的排列被称为“分裂”:

- 球瓶 $1$ 已经倒下。
- 存在两个不同的列,满足以下条件:
- 每个列中至少有 $1$ 个球瓶是竖立的。
- 在这两个列之间,存在一个所有球瓶都倒下的列。

具体例子请参考输入输出样例。

现在,给定一个长度为 $10$ 的字符串 $S$,表示某一时刻球瓶的状态。对于 $i=1,\dots,10$,如果球瓶 $i$ 倒下,则 $S$ 的第 $i$ 个字符为 0,如果球瓶 $i$ 竖立,则为 1
请判断由 $S$ 表示的球瓶排列是否为“分裂”。

输入格式

输入为以下格式,从标准输入读取。

> $S$

输出格式

如果由 $S$ 表示的球瓶排列为“分裂”,输出 Yes;否则输出 No

输入输出样例

输入 #1
0101110101
输出 #1
Yes
输入 #2
0100101001
输出 #2
Yes
输入 #3
0000100110
输出 #3
No
输入 #4
1101110101
输出 #4
No

说明/提示

## 限制

- $S$ 是由 01 组成的长度为 $10$ 的字符串。

## 样例解释 1

将倒下的球瓶用灰色表示,竖立的球瓶用白色表示,如下图所示。
![ex0](/uploads/acgo/image/f293a0920a9d49529af385a90af7cda5_3f1a4a0f347c.png)
在球瓶 $5$ 竖立的列和球瓶 $6$ 竖立的列之间,存在球瓶 $3,\ 9$ 所在的列,但这列中的球瓶都倒下了,因此该排列为“分裂”。

## 样例解释 2

![ex1](/uploads/acgo/image/9569152cd37d460d8b395a350b64994d_99d49605771a.png)

## 样例解释 3

![ex2](/uploads/acgo/image/335a4ab32ab6488788eb13242c3b4655_cb57bbb52efb.png)
该排列不是“分裂”。

## 样例解释 4

![ex3](/uploads/acgo/image/de26674ae5924668a92ff6891b006878_62dd96adca65.png)
球瓶 $1$ 没有倒下,因此不是“分裂”。
上一题 去做题 下一题