1 条题解

  • 1
    @ 2024-12-10 15:46:31

    #include<bits/stdc++.h> using namespace std; const int maxn=105, mod = 1000007; int n, m, a[maxn], rmb[maxn][maxn]; int dfs(int x,int k) { if(k > m) return 0; if(k == m) return 1; if(x == n+1) return 0; if(rmb[x][k]) return rmb[x][k]; int ans = 0; for(int i=0; i<=a[x]; i++) ans = (ans + dfs(x+1, k+i))%mod; rmb[x][k] = ans; return ans; } int main() { cin>>n>>m; for(int i=1; i<=n; i++) cin>>a[i]; cout<<dfs(1,0)<<endl; return 0; }

    • 1

    信息

    ID
    635
    时间
    1000ms
    内存
    125MiB
    难度
    10
    标签
    递交数
    9
    已通过
    3
    上传者