
S, S, S
O, S
S, O

1, 2 2, 3 3, 4 1, 3 2, 4 1, 4


max-path-sum(t, row, col)
if row == N
return ( [ (row, col) ], t[row, col] )
left-max-path =
max-path-sum(t, row + 1, col)
right-max-path =
max-path-sum(t, row + 1, col + 1)
if left-max-path[2] > right-max-path[2]
return ( (row, col) ++ left-max-path[1],
left-max-path[2] + t[row, col] )
else
return ( (row, col) ++ right-max-path[1],
right-max-path[2] + t[row, col] )
|
|
|
bool find(x, a[])
if a.size == 0
return false
else
if a[0] == x
return true;
else
return find(x, a[1..a.size()])
S, S, S
O, S
S, O
int seq-count(eggs)
if eggs < 1
return 0
c = 1 + seq-count(eggs - 1)
if eggs > 1
c += 1 + seq-count(eggs - 2)
return c
bool find(x, a[])
if a.size == 0
return false
n = a.size/2
if a[n] == x
return true
return find(x, a[0..n - 1]) ||
find(x, a[n + 1..a.size])
bool find(x, a[])
if a.size == 0
return false
n = a.size/2
if a[n] == x
return true
if a[n] < x
return find(x, a[n + 1..a.size])
else
return find(x, a[0..n - 1])
intfactorial(n) if n == 1 return 1 return n*factorial(n - 1) int factorial(n) if n == 0 return 1 return n*factorial(n - 1)
int-pair stamps(n)
if n == 8
return (1, 1)
return (1, 0) + stamps(n - 3)
8 = one 3-cent stamp + one 5-cent stamp.
9 = three 3-cent stamps + no 5-cent stamps.
10 = no 3-cent stamps + two 5-cent stamps.
int-pair stamps(n)
if n == 8
return (1, 1)
if n == 9
return (3, 0)
if n == 10
return (0, 2)
return (1, 0) + stamps(n - 3)


|
|
|
