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 翻译