Write a program that reads as a command-line argument a number n, this number is the number of columns and rows mentioned above. It then reads from standard input n*n integers, each integer being between zero (0) and one hundred (100), and then writes to standard out a single integer representing the maximum possible profit An example of a proper running of your program would like this: cd472$ javac Submission.java cd472$ java Submission 3 < digger3_input 191

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

HI, I have written the code, but I get the wrong inputs over and over. I have attached the question as an image, please can anyone help?

 

Thank you.

//<My_Code>

import java.util.Scanner;



public class Submission {





public static void main(String[] args){




//Input of the number of rows & columns



//Creating a grid to map out the recourses





Scanner input = new Scanner(System.in);


int n = input.nextInt();


int[][] grid = new int[n][n];
for(int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {

grid[i][j] = input.nextInt();




}
}

//2D integer arrays of max[num][value] collects from position
//'num' and 'value'
int[][] max = new int[n][n];

for(int j = 0; j < n; j++)
{
max[n -1][j] = grid[n - 1][j];
}

for(int i = n - 2; i >= 0; i--)
{

/***
* Inside the for-loop we insert an if statement to see
* whether they can move downwards towards right and left.
*
* Inside the two 'Else-if' we see whether they it can move only left,
* or only right respectively
*/
for(int j = 0; j < n; j++)
{
if(j - 1 >=0 && j + 1 < n)
{
max[i][j] = Math.max(max[i + 1][j + 1], max[i + 1][j - 1]) + grid[i][j];

}
else if (j - 1 >= 0 && j + 1 >= n)
{
max[i][j] = max[i + 1][j - 1] + grid[i][j];

}
else
{
max[i][j] = max[i + 1][j + 1] + grid[i][j];
}
}

}

/**
* Output of the result after comparing to each points in the first row
*/

int result = 0;

for(int j = 0; j < n; j++)
{

result = Math.max(result, max[0][j]);
}

System.out.println(result);

}

}


You have been hired at an open-air mine. You are to write a program to control a digger. For
your task, you have been given a `map' of all the underground resources in the mine. This map
comes as a file. The file has n rows. Each row has n space-separated integers. Each integer is
between zero and one hundred (inclusive). The file should be understood to represent a grid, n
wide by n deep. Each square in the grid can contain valuable resources. The value of these
resources can go from zero (no resources) to 100 (max resources).
The grid maps the resources just below the surface, and down to the lowest diggable depths.
The digger starts at the surface (so, just on top of the topmost row in the grid)-at any
horizontal position between 1 and n. The digger cannot dig directly downwards, but it can dig
diagonally in either direction, left-down, or right-down. In its first time-step, it will dig onto the
first row of the grid. In its second time-step, it'll hit the second row, and so on. When the digger
reaches row number n, it has to be air-lifted out of the mine, and is no longer usable.
Every time the digger hits a square with resources in it, we can reclaim those resources.
Write a program that reads as a command-line argument a number n, this number is the
number of columns and rows mentioned above.
It then reads from standard input n * n integers, each integer being between zero (0) and one
hundred (100), and then writes to standard out a single integer representing the maximum
possible profit
An example of a proper running of your program would like this:
cd472$ javac Submission.java
cd472$ java Submission 3 < digger3_input
191
Here digger3_input is a file that I am providing separately on the Moodle (scroll down to sample
Inputs section), for your benefit, so you can use it to test and debug your program. I have also
made available a file called digger100, which is a 100x100 file (with the correct output included
as well). You are highly encouraged to use the Randomizer program you wrote during your work
on Worksheet 2 to create further input files.
Transcribed Image Text:You have been hired at an open-air mine. You are to write a program to control a digger. For your task, you have been given a `map' of all the underground resources in the mine. This map comes as a file. The file has n rows. Each row has n space-separated integers. Each integer is between zero and one hundred (inclusive). The file should be understood to represent a grid, n wide by n deep. Each square in the grid can contain valuable resources. The value of these resources can go from zero (no resources) to 100 (max resources). The grid maps the resources just below the surface, and down to the lowest diggable depths. The digger starts at the surface (so, just on top of the topmost row in the grid)-at any horizontal position between 1 and n. The digger cannot dig directly downwards, but it can dig diagonally in either direction, left-down, or right-down. In its first time-step, it will dig onto the first row of the grid. In its second time-step, it'll hit the second row, and so on. When the digger reaches row number n, it has to be air-lifted out of the mine, and is no longer usable. Every time the digger hits a square with resources in it, we can reclaim those resources. Write a program that reads as a command-line argument a number n, this number is the number of columns and rows mentioned above. It then reads from standard input n * n integers, each integer being between zero (0) and one hundred (100), and then writes to standard out a single integer representing the maximum possible profit An example of a proper running of your program would like this: cd472$ javac Submission.java cd472$ java Submission 3 < digger3_input 191 Here digger3_input is a file that I am providing separately on the Moodle (scroll down to sample Inputs section), for your benefit, so you can use it to test and debug your program. I have also made available a file called digger100, which is a 100x100 file (with the correct output included as well). You are highly encouraged to use the Randomizer program you wrote during your work on Worksheet 2 to create further input files.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 4 images

Blurred answer
Knowledge Booster
Adjacency Matrix
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education