栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

acwing第19场周赛(A/B)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

acwing第19场周赛(A/B)

3991. 满足条件的01串

传送门

题目描述

输入描述

输出描述

数据范围

输入样例

3
3
101
4
1011
5
10001

输出样例

Yes
No
No

简单题,暴力枚举判断即可(不知道为什么被我写的很复杂)。

对于 1 ,判断相邻两边是否都为 0;对于 0 ,判断相邻两边是否至少存在一个 1;不符合要求时直接 break。

边界特判即可。

参考代码

#include 
using namespace std;

int main(){
    int t;
    cin>>t;
    while(t--){
        int n,flag=0,cnt=0,tag=0;
        string s;
        cin>>n>>s;
        if(s[0]=='1')
            cnt++;
        if(s[0]=='0')
            flag=1;
        if(n==1&&s[0]=='0'){
            cout<<"No"< 
3992. 树上有猴 

传送门

题目描述

输入描述

输出描述

数据范围

输入样例1

3 5
2 1 -3

输出样例1

3

输入样例2

2 4
-1 1

输出样例2

4

输入样例3

4 10
2 4 1 2

输出样例3

2

利用前缀和不断更新当前时刻树上猴子变动的数量,并不断维护在这些时刻内增加的最大只数,及减小的最大只数,并与树上能够容纳的最多只数 w 进行比较。

例:n = 3 , w = 7 , a = [ 1 , 2 , - 5 ] ,则树上最多将增加 3 只猴子,最多将减少 2 只猴子;

由最多将增加 3 只猴子而最多能容纳 7 只猴子可得:初始时的可能性为 0,1,2,3,4;

由最多将减少 2 只猴子可得,初始时必然需要大于等于 2 只猴子。

最后的答案即为 7 - 3 + 1 - 2 = 3。

参考代码

#include 
using namespace std;

int n, w, a[1005];

int main() {
    cin>>n>>w;
    int minn = 0, maxx = 0;
    for (int i = 1; i <= n; ++i) {
        cin>>a[i];
        a[i] += a[i - 1];
        if (a[i] > maxx) maxx = a[i];
        if (a[i] < minn) minn = a[i];
    }
    if (-minn > w - maxx) puts("0");
    else cout<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/297165.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号