#P16857. [GKS 2021 #F] Trash Bins

[GKS 2021 #F] Trash Bins

题目描述

在你居住的城市 Kickstartland 中,有一条特别长的街道,街上有 NN 栋房子。这条街道的长度为 NNNN 栋房子均匀分布在街上,即第 11 栋房子位于位置 11,第 22 栋房子位于位置 22,依此类推。任意两栋房子 iijj 之间的距离为 ij|i - j|,其中 x|x| 表示 xx 的绝对值。

其中一些房子的门前有垃圾桶。这意味着这些房子的主人倒垃圾时无需行走。然而,对于门前没有垃圾桶的房子的主人,他们必须走向某个门前有垃圾桶的房子(要么向左,要么向右)。

为了节省时间,每个房子的主人总是将垃圾带到离自己房子最近的垃圾桶处。如果两个垃圾桶距离该房子一样近,则主人可以走向其中任意一个。

给定房子的数量 NN,以及哪些房子门前有垃圾桶的描述,请计算出每个房子的主人倒垃圾所需行走的距离之和。你可以假设至少有一栋房子门前有垃圾桶。

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。每个测试用例由两行组成。

每个测试用例的第一行包含一个整数 NN,表示街道上房子的数量。

每个测试用例的第二行包含一个长度为 NN 的字符串 SS,表示哪些房子门前有垃圾桶。如果字符串 SS 的第 ii 个字符等于 11,则表示第 ii 栋房子门前有垃圾桶;否则,如果等于 00,则表示第 ii 栋房子门前没有垃圾桶。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是每个房子的主人倒垃圾所需行走的距离之和。

2
3
111
6
100100
Case #1: 0
Case #2: 5

提示

对于第 11 个测试用例,每个房子门前都有垃圾桶,因此没有房主需要行走倒垃圾。

对于第 22 个测试用例,第 11 栋和第 44 栋房子的主人门前有垃圾桶,因此他们无需行走。第 22 栋房子的主人将走向第 11 栋房子,距离为 11。第 335566 栋房子的主人将走向第 44 栋房子,距离分别为 111122

限制条件

1T1001 \le T \le 100

SS 的长度等于 NN

SS 的每个字符为 0011

SS 中至少有一个字符 11

测试集 1

1N1001 \le N \le 100

测试集 2

1N5×1051 \le N \le 5 \times 10^5

翻译由 DeepSeek V4 Pro 完成