SZ#G4B30. 【GESP强化 四级】信号灯

提交2 通过1
通过率50%
时间限制2000ms
内存限制256MiB
    ID: 11272 传统题 2000ms 256MiB 尝试: 2 已通过: 1 难度: 普及 上传者: 标签>GESPGESP强化C++c++编程题进制转换和字符串字符串区间计数

题目描述

一条灯带用二进制字符串 SS 表示,字符 1 表示亮灯,0 表示灭灯。小珅希望所有亮灯最终位于一个连续区间中。字符串 010011101111100 已经满足要求,而 0101100001 等还不满足。

操作时只能删除一些字符 0,可以一个也不删,不能删除 1。每组灯带都要计算为了让全部 1 连成一个连续片段,最少需要删除多少个 0

小泽逐组处理灯带时不会移动任何一个亮灯,也不会为了缩短字符串而删除两端无关的灭灯。答案只统计为了消除亮灯间隔而必须删掉的字符。

输入格式

第一行输入测试组数 tt。接下来 tt 行,每行包含一个二进制字符串 SS

输出格式

输出 tt 行,每行一个整数,表示对应字符串最少删除的 0 数量。

3
010011
0
1111000
2
0
0
2
100001
1
4
0
3
0101
000
10101
1
0
2

样例解释

样例 #1

010011 中第一个和最后一个 1 之间有两个 0,删去后可变为 0111;另外两组无需删除。

样例 #2

第一组要删除两个端点 1 之间的四个 0;第二组已经满足要求。

样例 #3

只需删除第一个 1 与最后一个 1 之间的 0;没有 1 时答案为 00

数据范围与约定

  • 1t1001 \le t \le 100
  • 1S1001 \le |S| \le 100
  • SS 的每个字符都是 01