U5723.01串

普及-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

nn 个 01 串 si (1in)s_i\ (1 \le i \le n),你可以无限制反转 sis_i 的任意子区间(当然你可以不反转),使得 f(si)f(s_i) 最大化。问反转后的 f(si)f(s_i) 是多少?

f(s)f(s) 的含义:求 ss 中的所有只包含 0 的子串中最大长度。

输入格式

n+1n+1 行输入。

第一行输入一个整数 nn

22 ~ n+1n+1 行,令 ii→ 行数 1-1,输入 sis_i

输出格式

nn 行,每 ii 行输出 sis_i 反转后的 f(si)f(s_i)

输入输出样例

  • 输入#1

    1
    0101

    输出#1

    2
  • 输入#2

    1
    1001

    输出#2

    2

说明/提示

样例 11 解释:其中有一种反转的方法是将 10 反转,变成 0011check(s)=2check(s)=2

样例 22 解释:不用反转,check(s)=2check(s)=2

对于 5%5\% 的数据,保证 s2|s|\le2

对于 20%20\% 的数据,保证 s10|s|\le10

对于另外 5%5\% 的数据,保证 ss 字符串中只包含 0。

对于 100%100\% 的数据,保证 1n102,s5×1031\le n\le10^{2},|s|\le5×10^{3}

s|s| 的意思是字符串 ss 的长度。

这个题是出题人在公交车上想出来的。

首页