Description a long time ago in a galaxy far far away the

Assignment Help Data Structure & Algorithms
Reference no: EM13359239

Description: A long time ago in a galaxy far, far away, the country Mafghanistan had n cities and m old roads, where each road connected a pair of cities. Due to the treacherous mountains, there was no road or even path between some cities (i.e., some cities were unreachable from others). During Operation Mafghanistan Freedom, which spread democracy across Mafghanistan like wildfire in Santa Barbara in the summer, the Mamerican forces evaporated all the old roads in Mafghanistan. As the Commanding General of the Mamerican forces, you are in charge of Operation Mafghan Reconstruction, which will build new roads in Mafghanistan subject to the following constraints:

    Due to the treacherous mountains, you may build new roads only between the cities where old roads existed before Operation Mafghanistan Freedom.

    You should build enough new roads such that if City A was reachable from City B via some old roads, City A must be reachable from City B via some new roads.

    You should minimize the total lengths of the new roads to be built.

Define a region to be a set of cities that will be reachable from one another via some new roads. Find all the regions using algorithms with good asymptotic running times.

You may NOT use STL classes except the string class.

Input

Read input from cin. The input contains the number of cities (n), the number of old roads (m), and a series of old roads where each road is represented by its two terminal cities and its length. Each city is represented by a unique integer from 0 to n-1. Each road length is represented by an integer. The following EBNF specifies the input. An example input is available in the hand out. Your program need not handle invalid input (such as invalid file format or invalid numbers representing cities).

<input> ::= <num-cities> <num-old-roads> <old-road>*

<num-cities> ::= <ws>* <number> <ws>* '\n'

<num-old-roads> ::= <ws>* <number> <ws>* '\n'

<old-road> ::= <ws>* <city> <ws>+ <city> <ws>+ <length> <ws>* '\n'

<city> ::= <number>

<length> ::= <number>

<number> ::= <digit>+

<digit> ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'

<ws> ::= ' ' | '\t'

Output

    On the first line, print

    <?xml version="1.5"?>

    On the second line, print:

    <country>

    Print each region in the ascending order of the number of cities in the region. For each region:

        On the first line, print:

        <region>

        Then, print each new road per line in the ascending order of the lengths of the roads. For each new road, print its two terminal cities represented by their numbers (print the smaller number before the larger number), and then the length of the road, as in the following example:

        <road>0 5 10</road>

        On the last line, print:

        </region>

    On the last line, print:

    </country>

The output of your program must match the output of the reference program. In other words, if you run

diff my_output your_output

you should see no output from diff.

Your program must exit with the exit code 0, i.e., call return 0 from the function main() or call exit(0).

Determinism in comparison of equal values

To avoid non-determinism of your algorithm when two roads e1=(s1, t1) and e2=(s2, t2) have the same length, consider e1 to be shorter than e2 if and only if

 

    min(s1, t1) < min(s2, t2), or

    min(s1, t1) == min(s2, t2) and max(s1, t1) < max(s2, t2)

To avoid non-determinism of your algorithm when two regions r1={...} and r2={...} have the same number of cities, consider r1 to have fewer cities than r2 if and only if min(r1) < min(r2), wheremin(s) returns the smallest member of the set s. Note that regions are disjoint sets of cities.

Resource limit

The gradebot has to limit resources, such as CPU time and memory, that each program can consume. If a program exceeds its resource limit, the gradebot will kill it, but the gradebot cannot distinguish between this case and other problems in the program (such as segmentation fault).

To test if a program exceeds the resource limit imposed by the gradebot, run:

bash -c 'ulimit -c 0 -d 500000 -f 100000 -m 100000 -n 50 -s 50000 -t 90 -v 500000; spantree < input_file > output_file'

 

When the program exceeds the resource limit, you will see the message Killed.

To learn more about resource limit, run man bash and skip to the section on ulimit (by typing /ulimit followed by a RETURN).

Hints

You probably need to implement union-find, min heap, minimum cost spanning tree, and an O(n log n) sorting algorithm (e.g., Quick Sort, in Section 7.3 of the textbook).

To optimize your program, run g++ with the -O3 option.

Reference no: EM13359239

Questions Cloud

Is there any risk to the employee in a defined benefit : is there any risk to the employee in a defined benefit plan?one of the advantages of the defined benefit plan to
Technology use in the workplacethe actual case study : technology use in the workplacethe actual case study analysiswhen considering the impact of the information age on
What do you think hr can do to provide management with a : what do you think hr can do to provide management with a better understanding of why exit interviews can be
Domestic and international hrmwhat are the main : domestic and international hrmwhat are the main similarities of domestic and international hrm?discuss two hr
Description a long time ago in a galaxy far far away the : description a long time ago in a galaxy far far away the country mafghanistan had n cities and m old roads where each
360 degree feedback and human resource managementim having : 360 degree feedback and human resource managementim having a troubles trying to discuss the relation betwwen 360 degree
Importance of human resources1 developing a report on the : importance of human resources1. developing a report on the effectiveness of a staffing process for entry-level jobs
Factor evaluation system vs hays profile methodshow the : factor evaluation system vs. hays profile methodshow the differences and similarities between the factor evaluation
While companies are trying to optimize their global supply : while companies are trying to optimize their global supply chain governments are aiming for the protection of their

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Implement a nice graph datastructure

Implement a nice graph datastructure. Implement two different greedy graph coloring algorithms. Shortest path algorithm and MST algorithms.

  Algorithm to categorize problem using big-theta notation

Find a simple algorithm for solving following problem and categorize it using big-theta notation: Divide the group of people into two disjoint subgroups (of arbitrary size) such that difference in total ages.

  Studying in major paralegal

Make a Microsoft Word document which includes a table and hyperlinks to Web sites helpful to someone studying in your main Paralegal.

  Create algorithm which will prompt for-accept four numbers

Create an algorithm which will prompt for and accept four numbers, sort them into ascending sequence and display them to the screen. Your algorithm is to include a module

  Develop a business systems plan

Develop a Business Systems Plan (with full justification as to how these are applicable for the organisation) so as to accommodate mobile access to various services provided by the hospital.

  Adopting agile development methodologies

Relative advantages are the degree to which a new technology is perceived to be superior to current technology. An company is more likely to adopt new technology when it perceives greater relative

  Different network connections

Use your laptop at public store to check your email and discuss all the different network connections involved in this operation.

  Write a flowchart to solve any linear equation ax+b=01.

Write a flowchart to solve any linear equation ax+b=01. W Write a flowchart to solve any linear equation ax^2+bx+C=0

  Sketch dynamic programming tables for knapsack problem

Sketch Dynamic Programming Tables (one for calculating optimal value and one for keeping track of items used in getting optimal value) for 0/1 Knapsack Problem given below and illustrate your final result.

  Creating entity-relationship model

The manager for the Clearwater Traders wishes to collect the following information for each order placed by a consumer: consumer's name and address, item's size or color if applicable and the retail price of each item.

  Designing an algorithm for task-array of person numbers

You have been allotted task of designing an algorithm for following task. Someone has built the array of person numbers of all n students enrolled in 331 this fall.

  Give a recursive algorithm for finding the number of one''s

Give a recursive algorithm for finding the number of one's in a bit string, name the algorothm count-ones.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd