全部评论 5

  • 稍微更改了一下

    #include <bits/stdc++.h>
    using namespace std;
    
    long long dp[40][40];            //放外面不用写={0}了,还有这道题好像是动态规划(dp)
    int i,j, n,m;                    //变量也改全局比较好
    
    int main(){
    	scanf("%d%d",&n,&m);         //cin>>n>>m改成scanf了,记得写取地址符
    	dp[0][1] = 1; 
    	dp[0][n + 1] = 1;
    	for (int i = 1;i <= m;i++){
    		for (int j = 1;j <= n + 1;j++)
    			dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j + 1];
    		dp[i][1] = dp[i][n + 1] = dp[i][1] + dp[i][n + 1];
    	}
    	printf("%lld\n",dp[m][1]);   //long long 用%lld,%d是给int的
    	return 0;
    }
    

    2024-08-10 来自 浙江

    1
  • 屑屑泥

    2023-07-10 来自 江苏

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

    2024-09-02 来自 北京

    0
  • 其实printf应该用printf("%lld")的
    没有别的意思,就是说可能不规范

    2024-08-10 来自 浙江

    0
  • Thank you

    2023-08-21 来自 安徽

    0
首页