Question: / / Applies dynamic programming to compute the largest number of / / coins a robot can collect on an n times m board

//Applies dynamic programming to compute the largest number of
//coins a robot can collect on an n \times m board by starting at (1,1)
//and moving right and down from upper left to down right corner
//Input: Matrix C[1..n,1..m] whose elements are equal to 1 and 0
//for cells with and without a coin, respectively
//Output: Largest number of coins the robot can bring to cell (n, m)
RobotCoinCollection(C[1..n,1..m])
F[1,1]C[1,1];
for j 2 to m do
F[1, j]F[1, j 1]+ C[1, j]
for i 2 to n do
F[i,1]F[i 1,1]+ C[i,1]
for j 2 to m do
F[i, j ]max(F [i 1, j], F[i, j 1])+ C[i, j ]
return F[n, m]
Modify this algorithm so some cells on the board (indecated by and 'X' are inaccessible for the robot.
The input should be command line arguements in the format Columns Rows *
0 indicates the cell is empty. 1 indicates the cell has a coin in it. X indicates the cell is inexcessable.
for example
./robotCoin 560 X 0100100 X 10010 X 10000101 X X X 010
Should produce this output:
Board Inputed:
0 X 0100
100 X 10
010 X 10
000101
X X X 010
Coin Collecting Table:
000000
111000
122000
122334
000344
The optimal path with this board is: 4

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!