牛客网 合唱队形(思维)

这是一道关于合唱队形排列的问题,题目要求在最多两人交换位置的情况下,找出新的队形中能形成的最长连续女生序列的长度。输入包括班级总人数和初始队形,输出是经过调整后最长连续女生的长度。解决方案是通过数组记录每个男生前后女生的数量,并进行判断。
摘要由CSDN通过智能技术生成

【题目】

合唱队形

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K

64bit IO Format: %lld

题目描述 

      铁子的班级在毕业晚会有一个合唱节目,到了毕业晚会的时候,他们必须排成一排一起合唱"认错","当然是选择原谅他"等一系列原谅歌曲,但是当队形布置好的时候,领导们觉得队形里最长的连续的女生的长度太小了,但是由于马上要开始演唱,所以最多只能两个人交换位置,问新队形中最长的连续的女生的长度是多少?

输入描述:

第一行一个数字n表示铁子班级的总人数。1≤n≤105

第二行一个字符串s表示最初的队形布置,si=0表示第i个人是女生,si=1表示第i个人是男生。

输出描述:

输出一行表示答案

输入

6
101010

输出

3

说明

将第6个女生和第3个男生交换位置可以满足要求

【题解】

用数组f[]记录每个男生前后的连续女生数,最后做个判断就好了。

【代码】


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值