[Solved] CMSC401 Assignment 2-Optimal Power Line Location

$25

File Name: CMSC401_Assignment_2-Optimal_Power_Line_Location.zip
File Size: 452.16 KB

SKU: [Solved] CMSC401 Assignment 2-Optimal Power Line Location Category: Tag:
5/5 - (1 vote)

Optimal Power Line Location

  • Power distribution company is planning to build a main power line from east to west (x-axis) across its distribution area
  • The area has n houses
  • The company wants to connect each house directly to the main power line with smaller power lines in north-south direction (y-axis)
  • Your task is to estimate the optimal position (on the y-axis) of the main power line, so that the total length of smaller power lines is the shortest.

Assignment 2

Write a program cmsc401.java that

  • takes as input
    • in the first line, the number of houses n, n>=2, n<1,000,000
    • in each consecutive line (from 2nd to (n+1)-th line), the ycoordinate of one house (integers in the range 0 to

1,000,000,000)

  • returns as output
    • a single number: the y-coordinate where the main power line should be built
    • only one number, no comments, prompts etc.
  • Use standard I/O to read input (System.in, System.out) and write the result
  • Make sure the program compiles

Example

5

Input Output

Total length of smaller power lines: 15 This is the minimum possible length.

There might be other results with the same minimum

Hints

  • Think about the solution over examples
  • Consider the y-coordinates of houses as an array of size n
  • Design a divide & conquer algorithm like quicksort
    • Use recursive approach with an appropriate Partitionlike method
  • Try to use the asymptotically fastest method
    • Aim at expected linear time O(n)
    • Slower methods will get lower score even it is correct
  • There may be several correct solutions, return one of them.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[Solved] CMSC401 Assignment 2-Optimal Power Line Location
$25