From 59a12ff11b40aec9acd5d1f705557a77488fae38 Mon Sep 17 00:00:00 2001 From: HARSH KUMAR <40995887+harshmgr@users.noreply.github.com> Date: Fri, 30 Oct 2020 13:11:00 +0530 Subject: [PATCH] Create Painting Fence --- C++/Dynamic Programming/Painting Fence | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 C++/Dynamic Programming/Painting Fence diff --git a/C++/Dynamic Programming/Painting Fence b/C++/Dynamic Programming/Painting Fence new file mode 100644 index 00000000..afc4a8af --- /dev/null +++ b/C++/Dynamic Programming/Painting Fence @@ -0,0 +1,27 @@ +#include +using namespace std; + +// Returns count of ways to color k posts +long cWays(int n, int k) +{ + long d[n + 1]; + memset(d, 0, sizeof(d)); + long long mod = 1000000007; + + d[1] = k; + d[2] = k * k; + + for (int i = 3; i <= n; i++) { + d[i] = ((k - 1) * (d[i - 1] + d[i - 2])) % mod; + } + + return d[n]; +} + +// Driver code +int main() +{ + int n = 3, k = 2; + cout << cWays(n, k) << endl; + return 0; +}