1 条题解

  • 0
    @ 2023-6-11 12:21:13

    C :

    #include<stdio.h>
    int n,m;
    long long dfs[31][31];
    int main()
    {
    	scanf("%d %d",&n,&m);
    	dfs[m][1]=1;
    	for(int i=m-1;i>=0;i--)
    	for(int j=1;j<=n;j++)
    	{
    		if(j==1)
    		dfs[i][j]=dfs[i+1][2]+dfs[i+1][n];
    		if(j==n)
    		dfs[i][j]=dfs[i+1][1]+dfs[i+1][n-1];
    		if(j!=1&&j!=n)
    		dfs[i][j]=dfs[i+1][j-1]+dfs[i+1][j+1];
    	}
    	printf("%lld",dfs[0][1]);
    	return 0;
    }
    

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int f[31][31],i,j,m,n;
    int main()
    {
        cin>>n>>m;
        f[0][1]=1;
        for(int i=1; i<=m; i++)
            for(int j=1; j<=n; j++)
                if(j==1)
                    f[i][j]=f[i-1][n]+f[i-1][2];
                else if(j==n)
                    f[i][j]=f[i-1][1]+f[i-1][n-1];
                else
                    f[i][j]=f[i-1][j-1]+f[i-1][j+1];
        cout<<f[m][1]<<endl;
        return 0;
    }
    
    
    
    • 1

    信息

    ID
    2713
    时间
    1000ms
    内存
    50MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者