Skip to content

Commit e51a54d

Browse files
authored
Merge pull request #28 from amsharma44/coin_change
Coin change
2 parents d1d240f + 5732efb commit e51a54d

File tree

2 files changed

+57
-50
lines changed

2 files changed

+57
-50
lines changed

coin-change.cs

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
using System;
2+
using System.Linq;
3+
using System.Collections.Generic;
4+
using System.Text;
5+
using System.Numerics;
6+
using System.Diagnostics;
7+
8+
namespace ConsoleApplication
9+
{
10+
11+
class Program
12+
{
13+
public static long[,] dp = new long[52, 252];
14+
15+
public static void Main(String[] args)
16+
{
17+
int[] l0 = Array.ConvertAll<string, int>(Console.ReadLine().Trim().Split(' '), e => int.Parse(e));
18+
int[] coins = Array.ConvertAll<string, int>(Console.ReadLine().Trim().Split(' '), e => int.Parse(e));
19+
int sum = l0[0];
20+
int n = l0[1];
21+
for(int i = 0; i < 52; i++)
22+
{
23+
for(int j = 0; j < 252; j++)
24+
{
25+
dp[i, j] = -1;
26+
}
27+
}
28+
29+
Console.WriteLine(calculate(coins, sum, n - 1, 0));
30+
}
31+
32+
public static long calculate(int[] coins, int sum, int numCoin, int i)
33+
{
34+
if(sum == 0)
35+
{
36+
return 1;
37+
}
38+
39+
if(sum < 0)
40+
{
41+
return 0;
42+
}
43+
44+
if(i > numCoin)
45+
{
46+
return 0;
47+
}
48+
49+
if(dp[i, sum] == -1)
50+
{
51+
dp[i, sum] = calculate(coins, sum, numCoin, i + 1) + calculate(coins, sum - coins[i], numCoin, i);
52+
}
53+
54+
return dp[i, sum];
55+
}
56+
}
57+
}

string-reduction.cs

Lines changed: 0 additions & 50 deletions
This file was deleted.

0 commit comments

Comments
 (0)