AT_arc040_b [ARC040B] 直線塗り

题目描述

鱿鱼高桥君非常喜欢给地板上色。地板由 $N$ 个格子组成,按左右一列排列。从左起第 $i$ 个格子称为格子 $i$。有些格子已经被涂色,但有些格子还没有。高桥君打算用射程为 $R$ 的喷枪将所有格子涂色。高桥君一开始站在格子 $1$ 上。每 $1$ 秒,他可以进行以下两种操作之一: - 向右移动一个格子,即从格子 $i$ 移动到格子 $i+1$。但如果已经在格子 $N$,则不能再向右移动。 - 用喷枪涂色。如果他在格子 $i$ 上开枪,则可以将从格子 $i$ 到格子 $i+R-1$ 的所有格子涂色。如果 $i+R-1$ 超过 $N$,则从格子 $i$ 到格子 $N$ 的所有格子都会被涂色。 请你求出高桥君将所有格子涂色所需的最小时间。

输入格式

输入以以下格式从标准输入给出。 > $N$ $R$ $S$ - 第 $1$ 行包含两个用空格分隔的整数,$N\ (1\leq N\leq 100)$ 表示格子的数量,$R\ (1\leq R\leq N)$ 表示喷枪的射程。 - 第 $2$ 行包含一个长度为 $N$ 的字符串 $S$。其中第 $i\ (1\leq i\leq N)$ 个字符表示格子 $i$ 的状态: - `.` 表示该格子尚未涂色。 - `o` 表示该格子已经涂色。

输出格式

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

说明/提示

### 样例解释 1 先开枪 → 向右走 $4$ 步 → 再开枪,这样所需时间最少。 ### 样例解释 2 先开枪 → 向右走 $1$ 步 → 再开枪,这样所需时间最少。 ### 样例解释 3 一开始所有格子都已经涂色。 由 ChatGPT 4.1 翻译