7 条题解

  • 1
    @ 2023-1-30 17:24:09

    发个题解,求dalao们支持一下。

    首先,以6举例;

    6前面可以跟1、2、3,组成16,26,36。

    16前面跟不了;

    26可以跟1,组成126。

    36可以跟1,组成136。

    至此,共有6,16,26,36,126,136共6组解。

    x[n]代表n满足条件的数的个数,则有:设x[n]代表n满足条件的数的个数,则有:

    f[1]=1
    f[2]=2=f[1]+1
    f[3]=2=f[1]+1
    f[4]=4=f[1]+f[2]+1
    f[5]=4=f[1]+f[2]+1
    
    以此类推···

    可以得到代码:

    #include<iostream>
    using namespace std;
    int n;
    int x[1001];
    int main()
    {
      cin>>n//拒绝Ctrl+C,从我做起
      for(int i=1;i<=n;i++)
    	{ 
        for(int j=1;j<=i/2;j++)
    		{
          x[i]+=x[j]; 
        }
        x[i]++;
      }
      cout<<x[n];
      return 0;
    }
    

    信息

    ID
    649
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    341
    已通过
    143
    上传者