• luogu最长连号


    https://www.luogu.org/problemnew/show/P1420

    100分做法~(≧▽≦)/~啦啦啦

    #include<iostream>
    #include<cstdio>
    
    using namespace std;
    
    int a[10001],k,l,n;
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        for(int i=1;i<=n;i++)
        {
            if(a[i]==a[i+1]-1)
            {
                k++;
            }
            else k=0;
            if(k>l)
            {
                l=k;
            }
        }
        printf("%d",l+1);
    }

    题解上还有一个递归的做法非常好^_^

    #include<iostream>
    #include<cstdio>
    
    using namespace std;
    
    int a[10001];
    int dg(int x)
    {
        if(a[x]==a[x+1]-1)
        return 1+dg(x+1);
        else return 1;
    }
    int main()
    {
        int n,k=0,l;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        for(int i=1;i<=n-1;i++)
        {
            if(dg(i)>k)
            {
                k=dg(i);
            }
        }
        printf("%d",k);
        return 0;
    }

    可以用这个题体会一下递归。。。。。我觉得海星

    一开始就想到要用计数器,可是没用好。。。。。~~~~(>_<)~~~~

    我一直没弄明白怎么处理不连续的连号。。。

    于是我看了题解(^o^)/~

    用l保存,始终保存当前遇到的最长连号,如果遇到新的最长连号就更新。

    如果中间有中断的连号就将k清零。但在l中已经保留当前最长连号,最后输出l

    还有一个我本来以为数据很水,可以骗分的0分做法( ⊙ o ⊙ )啊!

    #include<iostream>
    #include<cstdio>
    
    using namespace std;
    
    int a[1001];
    int main()
    {
        int n,k=0;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
        for(int i=1;i<=n;i++)
        {
            if(a[i]==a[i+1]-1)
            k++;
        }
        printf("%d",k+1);
        return 0;
    }

    加油啊↖(^ω^)↗

    QwQ

    Everything will ok!

    “为什么圆规能画出圆?” “因为心不变,脚在动。”
  • 相关阅读:
    利用 .NET Framework 命令行工具
    和AI机器人Alice的一段聊天记录
    WINDOWS自启动程序的10大隐身之所
    开放式开发/开源项目TimeDog[C#WindowsApp]
    Microsoft月度中文速递
    新安装的VS2003出现了一个问题不能新建项目!
    实例构造器和类型构造器的一些比较
    C++ 模板里面的typename
    vim 折叠的用法
    Redis3:持久化
  • 原文地址:https://www.cnblogs.com/xrj1229/p/9209304.html
Copyright © 2020-2023  润新知