diff --git a/CPP/Problems/Number of Dice Rolls With Target Sum.cpp b/CPP/Problems/Number of Dice Rolls With Target Sum.cpp new file mode 100644 index 00000000..fc091137 --- /dev/null +++ b/CPP/Problems/Number of Dice Rolls With Target Sum.cpp @@ -0,0 +1,30 @@ +class Solution { +public: + + int solve(int n, int k ,int t,vector>&dp){ + if(n == 0 && t == 0 ) + return 1; + + if(n == 0) + return 0; + + int take = 0; + + if(dp[n][t] != -1) + return dp[n][t]; + + for(int i = 1;i<=k;i++) { + if(t >= i) { + take += solve(n-1,k,t-i , dp); + take %= 1000000007; + } + } + return dp[n][t] = take; + } + + int numRollsToTarget(int n, int k, int target) { + vector> dp(n+1 , vector (target+1,-1)); + return solve(n , k ,target , dp); + } + +}; diff --git a/Quick Review.pdf b/Quick Review.pdf new file mode 100644 index 00000000..77d814a1 Binary files /dev/null and b/Quick Review.pdf differ