AT_arc007_3.[ARC007C] 節約生活
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君想要观看付费卫星电视。付费卫星电视需要付费才能观看,但高桥君并没有进行相关的订阅。
不过,为了让观众了解节目内容,付费卫星电视会定期开放免费可观看的时间段,观看可用和不可用的时间会交替出现。我们将这种可观看和不可观看的时间序列称为“观看模式”。
观看模式由 o 和 x 组成,如图 1 所示,可观看的时间用连续的 o 表示,不可观看的时间用连续的 x 表示。

图 1:观看模式示例(由于输入长度不超过 10,此输入不会出现在测试数据中)
一旦打开电视,观看模式会不断循环重复。此外,电视一旦打开就无法关闭。
高桥君想到一个办法:通过错开多台电视的开机时间并同时使用,可以实现即使不付费也能始终在某一台电视上观看节目。
例如,对于图 1 的观看模式,如图 2 所示,在 5 分钟后再打开一台电视,就可以实现始终能够观看。

图 2:使用 2 台电视实现始终可观看的示例
请你计算,为了始终能够在至少一台电视上观看节目,高桥君最少需要准备多少台电视。
在所有电视都打开之前,允许有无法观看的时间段,但在所有电视都打开之后,必须始终能够在至少一台电视上观看节目。
输入格式如下,从标准输入读取:
c0c1…cN−1
- 输入仅一行,表示观看模式的字符串,长度为 N,1≤N≤10。
- 观看模式由
o和x组成,第 i+1 个字符 ci 表示电视打开后第 i 分钟到第 i+1 分钟的状态:o:可观看。x:不可观看。
- 观看模式中至少包含一个
o。 - 电视只能在最初打开后每隔 j 分钟(j 为正整数)再次打开。
请输出,为了始终能够在至少一台电视上观看节目,所需的最小电视数量。
在所有电视都打开之前,允许有无法观看的时间段,但在所有电视都打开之后,必须始终能够在至少一台电视上观看节目。
最后请输出换行符。
oxoxx
3
- 按下图的时机打开电视,可以用 3 台电视实现始终可观看。

oxxxxoooo
2
- 在第一台电视打开后第 4 分钟再打开第二台电视,虽然第 1 分钟到第 5 分钟前无法观看,但第 5 分钟后始终可观看。
ox
2
- 在第一台电视打开后 1 分钟再打开第二台电视,可以用 2 台电视实现始终可观看。
o
1
- 观看模式中没有不可观看的时间时,也有可能出现这种情况。
xxxoxo
4
输入格式
输入仅一行,为长度为 N 的字符串 c0c1…cN−1,表示观看模式。
输出格式
输出一个整数,表示为了始终能够在至少一台电视上观看节目所需的最小电视数量。最后输出换行符。
说明/提示
无。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?