AT_arc007_3 [ARC007C] 節約生活

题目描述

高桥君想要观看付费卫星电视。付费卫星电视需要付费才能观看,但高桥君并没有进行相关的订阅。 不过,为了让观众了解节目内容,付费卫星电视会定期开放免费可观看的时间段,观看可用和不可用的时间会交替出现。我们将这种可观看和不可观看的时间序列称为“观看模式”。 观看模式由 `o` 和 `x` 组成,如图 $1$ 所示,可观看的时间用连续的 `o` 表示,不可观看的时间用连续的 `x` 表示。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_arc007_3/c5eb5a21de826083a4af9ac1eec2edaa30369137.png) 图 $1$:观看模式示例(由于输入长度不超过 $10$,此输入不会出现在测试数据中) 一旦打开电视,观看模式会不断循环重复。此外,电视一旦打开就无法关闭。 高桥君想到一个办法:通过错开多台电视的开机时间并同时使用,可以实现即使不付费也能始终在某一台电视上观看节目。 例如,对于图 $1$ 的观看模式,如图 $2$ 所示,在 $5$ 分钟后再打开一台电视,就可以实现始终能够观看。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_arc007_3/517dbd3c013b729576e4fa4fb70355deef1c50c3.png) 图 $2$:使用 $2$ 台电视实现始终可观看的示例 请你计算,为了始终能够在至少一台电视上观看节目,高桥君最少需要准备多少台电视。 在所有电视都打开之前,允许有无法观看的时间段,但在所有电视都打开之后,必须始终能够在至少一台电视上观看节目。 输入格式如下,从标准输入读取: > $c_0c_1\ldots c_{N-1}$ - 输入仅一行,表示观看模式的字符串,长度为 $N$,$1 \leq N \leq 10$。 - 观看模式由 `o` 和 `x` 组成,第 $i+1$ 个字符 $c_i$ 表示电视打开后第 $i$ 分钟到第 $i+1$ 分钟的状态: - `o`:可观看。 - `x`:不可观看。 - 观看模式中至少包含一个 `o`。 - 电视只能在最初打开后每隔 $j$ 分钟($j$ 为正整数)再次打开。 请输出,为了始终能够在至少一台电视上观看节目,所需的最小电视数量。 在所有电视都打开之前,允许有无法观看的时间段,但在所有电视都打开之后,必须始终能够在至少一台电视上观看节目。 最后请输出换行符。 ``` oxoxx ``` ``` 3 ``` - 按下图的时机打开电视,可以用 $3$ 台电视实现始终可观看。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_arc007_3/0ec6f675c53f19a2dd17db5988b73005b245d24c.png) ``` oxxxxoooo ``` ``` 2 ``` - 在第一台电视打开后第 $4$ 分钟再打开第二台电视,虽然第 $1$ 分钟到第 $5$ 分钟前无法观看,但第 $5$ 分钟后始终可观看。 ``` ox ``` ``` 2 ``` - 在第一台电视打开后 $1$ 分钟再打开第二台电视,可以用 $2$ 台电视实现始终可观看。 ``` o ``` ``` 1 ``` - 观看模式中没有不可观看的时间时,也有可能出现这种情况。 ``` xxxoxo ``` ``` 4 ```

输入格式

输入仅一行,为长度为 $N$ 的字符串 $c_0c_1\ldots c_{N-1}$,表示观看模式。

输出格式

输出一个整数,表示为了始终能够在至少一台电视上观看节目所需的最小电视数量。最后输出换行符。

说明/提示

无。 由 ChatGPT 4.1 翻译