[COCI2016-2017#6] Telefoni
题目描述
一个办公室有 N N N 张桌子从左至右排列,有些桌子上放了电话。
当第 j j j 个桌子上的电话响了后,第 i i i 个桌子上的电话也会响,当且仅当 ∣ j − i ∣ ≤ D |j-i|\le D ∣j−i∣≤D。
现在给出电话的摆放情况,请你求出最小需要添加几个电话,能使最后一个桌子上的电话响起。
保证第一张桌子和最后一张桌子有电话放置。
输入格式
第一行包含两个正整数 N N N 和 D D D,分别表示桌子个数和最大距离。
第二行包含 N N N 个整数 A i A_i Ai。如果 A i = 1 A_i=1 Ai=1,那么表示这个桌子上有电话,如果 A i = 0 A_i=0 Ai=0,则表示没有。
输出格式
一行,一个整数,表示最小需要添加电话个数,
样例 #1
样例输入 #1
4 1
1 0 1 1
样例输出 #1
1
样例 #2
样例输入 #2
5 2
1 0 0 0 1
样例输出 #2
1
样例 #3
样例输入 #3
8 2
1 1 0 0 1 0 0 1
样例输出 #3
2
提示
【样例解释 #1】
在 2 2 2 号桌子上添加一个电话,即可使 4 4 4 号桌子上的电话响起。
【样例解释 #2】
在 3 3 3 号桌子上添加一个电话,即可使 5 5 5 号桌子上的电话响起。
【样例解释 #3】
在 4 4 4 号桌子和 7 7 7 号桌子上各添加一个电话,即可使 8 8 8 号桌子上的电话响起。
【数据范围】
对于 50 % 50\% 50% 的数据, 1 ≤ N ≤ 20 1\le N\le 20 1≤N≤20;
对于 100 % 100\% 100% 的数据, 1 ≤ D ≤ N ≤ 3 × 1 0 5 1\le D\le N\le 3\times 10^5 1≤D≤N≤3×105。
【说明】
本题分值按 COCI 原题设置,满分 80 80 80。
题目译自 COCI2016_2017 CONTEST #6 T2 TELEFONI
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容