AT_arc040_b.[ARC040B] 直線塗り

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

鱿鱼高桥君非常喜欢给地板上色。地板由 NN 个格子组成,按左右一列排列。从左起第 ii 个格子称为格子 ii。有些格子已经被涂色,但有些格子还没有。高桥君打算用射程为 RR 的喷枪将所有格子涂色。高桥君一开始站在格子 11 上。每 11 秒,他可以进行以下两种操作之一:

  • 向右移动一个格子,即从格子 ii 移动到格子 i+1i+1。但如果已经在格子 NN,则不能再向右移动。
  • 用喷枪涂色。如果他在格子 ii 上开枪,则可以将从格子 ii 到格子 i+R−1i+R-1 的所有格子涂色。如果 i+R−1i+R-1 超过 NN,则从格子 ii 到格子 NN 的所有格子都会被涂色。

请你求出高桥君将所有格子涂色所需的最小时间。

输入格式

输入以以下格式从标准输入给出。

NN RR SS

  • 第 11 行包含两个用空格分隔的整数,N (1≤N≤100)N\ (1\leq N\leq 100) 表示格子的数量,R (1≤R≤N)R\ (1\leq R\leq N) 表示喷枪的射程。
  • 第 22 行包含一个长度为 NN 的字符串 SS。其中第 i (1≤i≤N)i\ (1\leq i\leq N) 个字符表示格子 ii 的状态:
    • . 表示该格子尚未涂色。
    • o 表示该格子已经涂色。

输出格式

输出高桥君将所有格子涂色所需的最小时间。输出应以换行符结尾。

输入输出样例

  • 输入#1

    7 3
    ...o.o.

    输出#1

    6
  • 输入#2

    8 4
    ...o.ooo

    输出#2

    3
  • 输入#3

    4 4
    oooo

    输出#3

    0

说明/提示

样例解释 1

先开枪 → 向右走 44 步 → 再开枪,这样所需时间最少。

样例解释 2

先开枪 → 向右走 11 步 → 再开枪,这样所需时间最少。

样例解释 3

一开始所有格子都已经涂色。

由 ChatGPT 4.1 翻译

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

首页