全部评论 4

  • dp开小了

    4天前 来自 云南

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

      4天前 来自 云南

      0
    • 他都没初始化 数组再大有什么用

      4天前 来自 广东

      0
  • #include<bits/stdc++.h>
    using namespace std;
    
    int dp[35][35];
    
    int main(){
        int n, m;
        cin >> n >> m;
    
        // 初始化
        for(int j = 1; j <= n; ++j){
            dp[0][j] = 0;
        }
        dp[0][1] = 1;
    
        for(int i = 1; i <= m; ++i){
            for(int j = 1; j <= n; ++j){
                int l = j - 1, r = j + 1;
                if(l == 0){
                    l = n;
                }
                if(r > n){
                    r = 1;
                }
                dp[i][j] = dp[i-1][l] + dp[i-1][r];
            }
        }
    
        cout << dp[m][1] << endl;
        return 0;
    }
    
    

    2024-08-17 来自 浙江

    0
  • 没有初始化:

    #include<bits/stdc++.h>
    using namespace std;
    
    int dp[35][35];
    
    int main(){
        int n, m;
        cin >> n >> m;
    
        // 初始化
        dp[0][1] = 1;
    
        for(int i = 1; i <= m; ++i){
            for(int j = 1; j <= n; ++j){
                int l = j - 1, r = j + 1;
                if(l == 0){
                    l = n;
                }
                if(r > n){
                    r = 1;
                }
                dp[i][j] = dp[i-1][l] + dp[i-1][r];
            }
        }
    
        cout << dp[m][1] << endl;
        return 0;
    }
    
    

    2024-08-17 来自 浙江

    0
  • 你好

    2024-08-17 来自 浙江

    0

热门讨论