问题 5684 --兔兔的房子

5684: 兔兔的房子★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 76  解决: 28
[提交][状态][命题人:]

题目描述

兔兔有一个两层楼的房子,每层有n个房间,房间编号号为1~n。他可以在同一层楼相邻的两个房间之间移动,即可从i号房间走到i+1号房间(1≤i≤n−1),楼层之间也存在着一些楼梯连接一楼和二楼相同编号的房间。通过楼梯可实现一二楼之间移动。下图就是n=4,和表示楼梯字符串"0101"示意图。

兔兔现在选择任意一个房间作为起点和终点,每个房间不能经过两次,希望你能帮他计算一下经过的最多的房间数。

输入

第一行为整数T,表示有T (1≤T≤100)组测试样例。
每组测试样例包含2行,第1行为一个整数n(1≤n≤1000),表示每层的房间数量。
第2行为长度为n,由0和1组成的字符串。若第i个字符为1,则表示第i个房间有一个楼梯;为0,则表示第i个房间没有楼梯。

输出

对于每组测试数据,输出一个整数,表示经过的最多房间数。
样例输入
Copy
4
5
00100
8
00000000
5
11111
3
110
样例输出
Copy
6
8
10
6

提示

在第1组测试数据中,他可能从1楼的1号房间出发,到达1楼的3号房间并上楼,然后再从二楼的3号房间出发到达2楼的1号房间,共经过了6个房间。
在第2组测试数据中,由于没有楼梯,因此最多只能经过同一层楼的所有房间,即8个房间。
在第3组测试数据中,可以经过所有房间。一种方案是从1楼1号房间上楼 →从2楼1号房间走到2楼2号房间 →从2楼2号房间下楼 →从1楼2号房间走到1楼3号房间 →从1楼3号房间上楼 →从2楼3号房间走到2楼4号房间 →从2楼4号房间下楼 →从1楼4号房间走到1楼5号房间 →从1楼5号房间上楼到达终点2楼5号房间。
在第3组测试数据中,可以经过所有房间。一种方案是从2楼的3号房间 →2楼的2号房间→2楼的1号房间→1楼的1号房间→1楼的2号房间→1楼的3号房间。

来源

 

[提交][状态]