1 solutions

  • 0
    @ 2025-3-3 16:33:28

    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

    Information

    ID
    10602
    Time
    1000ms
    Memory
    50MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By