AT_arc007_3.[ARC007C] 節約生活

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

高桥君想要观看付费卫星电视。付费卫星电视需要付费才能观看,但高桥君并没有进行相关的订阅。
不过,为了让观众了解节目内容,付费卫星电视会定期开放免费可观看的时间段,观看可用和不可用的时间会交替出现。我们将这种可观看和不可观看的时间序列称为“观看模式”。
观看模式由 o 和 x 组成,如图 11 所示,可观看的时间用连续的 o 表示,不可观看的时间用连续的 x 表示。


图 11:观看模式示例(由于输入长度不超过 1010,此输入不会出现在测试数据中)

一旦打开电视,观看模式会不断循环重复。此外,电视一旦打开就无法关闭。
高桥君想到一个办法:通过错开多台电视的开机时间并同时使用,可以实现即使不付费也能始终在某一台电视上观看节目。
例如,对于图 11 的观看模式,如图 22 所示,在 55 分钟后再打开一台电视,就可以实现始终能够观看。


图 22:使用 22 台电视实现始终可观看的示例

请你计算,为了始终能够在至少一台电视上观看节目,高桥君最少需要准备多少台电视。
在所有电视都打开之前,允许有无法观看的时间段,但在所有电视都打开之后,必须始终能够在至少一台电视上观看节目。
输入格式如下,从标准输入读取:

c0c1…cN−1c_0c_1\ldots c_{N-1}

  • 输入仅一行,表示观看模式的字符串,长度为 NN,1≤N≤101 \leq N \leq 10。
  • 观看模式由 o 和 x 组成,第 i+1i+1 个字符 cic_i 表示电视打开后第 ii 分钟到第 i+1i+1 分钟的状态:
    • o:可观看。
    • x:不可观看。
  • 观看模式中至少包含一个 o。
  • 电视只能在最初打开后每隔 jj 分钟(jj 为正整数)再次打开。

请输出,为了始终能够在至少一台电视上观看节目,所需的最小电视数量。
在所有电视都打开之前,允许有无法观看的时间段,但在所有电视都打开之后,必须始终能够在至少一台电视上观看节目。
最后请输出换行符。

oxoxx
3
  • 按下图的时机打开电视,可以用 33 台电视实现始终可观看。

oxxxxoooo
2
  • 在第一台电视打开后第 44 分钟再打开第二台电视,虽然第 11 分钟到第 55 分钟前无法观看,但第 55 分钟后始终可观看。
ox
2
  • 在第一台电视打开后 11 分钟再打开第二台电视,可以用 22 台电视实现始终可观看。
o
1
  • 观看模式中没有不可观看的时间时,也有可能出现这种情况。
xxxoxo
4

输入格式

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

输出格式

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

说明/提示

无。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页