|
5 | 5 |
|
6 | 6 |
|
7 | 7 | static int dfs(int** triangle, int row_size, int *col_sizes, |
8 | | - int row, int col, int **sums, bool **passes) |
| 8 | + int row, int col, int **sums, bool **passed) |
9 | 9 | { |
10 | 10 | if (row == row_size - 1) { |
11 | 11 | return triangle[row][col]; |
12 | | - } else if (passes[row][col]) { |
| 12 | + } else if (passed[row][col]) { |
13 | 13 | return sums[row][col]; |
14 | 14 | } else { |
15 | | - int s1 = dfs(triangle, row_size, col_sizes, row + 1, col, sums, passes); |
16 | | - int s2 = dfs(triangle, row_size, col_sizes, row + 1, col + 1, sums, passes); |
| 15 | + int s1 = dfs(triangle, row_size, col_sizes, row + 1, col, sums, passed); |
| 16 | + int s2 = dfs(triangle, row_size, col_sizes, row + 1, col + 1, sums, passed); |
17 | 17 | sums[row][col] = triangle[row][col] + (s1 < s2 ? s1 : s2); |
18 | 18 | /* Set pass marks in backtracing as the paths are overlapped */ |
19 | | - passes[row][col] = true; |
| 19 | + passed[row][col] = true; |
20 | 20 | return sums[row][col]; |
21 | 21 | } |
22 | 22 | } |
23 | 23 |
|
24 | | -static int minimumTotal(int** triangle, int triangleSize, int *triangleColSizes) |
| 24 | +int minimumTotal(int** triangle, int triangleSize, int *triangleColSizes) |
25 | 25 | { |
26 | 26 | int i; |
27 | 27 | int **sums = malloc(triangleSize * sizeof(int *)); |
28 | | - bool **passes = malloc(triangleSize * sizeof(bool *)); |
| 28 | + bool **passed = malloc(triangleSize * sizeof(bool *)); |
29 | 29 | for (i = 0; i < triangleSize; i++) { |
30 | | - passes[i] = malloc(triangleColSizes[i]); |
31 | | - memset(passes[i], false, triangleColSizes[i]); |
| 30 | + passed[i] = malloc(triangleColSizes[i]); |
| 31 | + memset(passed[i], false, triangleColSizes[i]); |
32 | 32 | sums[i] = malloc(triangleColSizes[i] * sizeof(int)); |
33 | 33 | } |
34 | | - return dfs(triangle, triangleSize, triangleColSizes, 0, 0, sums, passes); |
| 34 | + return dfs(triangle, triangleSize, triangleColSizes, 0, 0, sums, passed); |
35 | 35 | } |
36 | 36 |
|
37 | 37 | int main(void) |
|
0 commit comments