Ada Programming

  • Status Closed
  • Budget $10 - $30 USD
  • Total Bids 3

Project Description

A cell phone company is continually building and leasing communication towers. Each tower has a one-way communcation link to a least one other tower. The input to the program is essentially a list of pairs of tower names. Each pair will appear on a single line and will contain distinct names. Some pairs represent one-way communcation links between towers, and other pairs represent queries. Links and queries may be interspersed.

All the communication links of the system are added one link at a time. Here is an example of a link:

Tower_A Tower_B.

A link is terminated by a period.

A query asks if a communcation link is possible from one tower to another by any combination of one-way links. If another link is added to the system later in the input, then the answer to the same query may be different. In the output, a plus sign (+) represents an affirmative answer; a minus sign (-) says there is no such link.

Links are distinguished from queries by ending in a question mark and not a period.

Sample Input and Output

The program should read from the standard input and and write to the standard output. For each query in the input there should be exactly one line of output. If the query is true (there is a communication channel through the network), the output line should begin with a plus sign (+); otherwise with a minus sign (-). The rest of the output line repeats the towers in the query.

For the following input:

Tower_A Tower_B.

Tower_B Tower_C .

Tower_A Tower_C? # A query

Tower_B Tower_D.

Tower_A Tower_D ? # Another query

Tower_F Tower_E.

Tower_D Tower_B ? # A third query

xxxx yyyy? # Unknown tower names

the output should be

+ Tower_A => Tower_C

+ Tower_A => Tower_D

- Tower_D => Tower_B

- xxxx => yyyy

The names of the towers will contain only the characters [a-zA-Z_0-9], in particular they will have no spaces in them. Names will have at least 1 character and no more than 50 characters. Furthermore the capitialization of the names is significant. That is, WestMelbourneTower is not to be considered the same tower as wESTMeLbOuRnEtOwEr. Characters, if any, after the period (.) or question mark (?) on a line are to be ignored. No line will will contain more than 150 characters.

Get free quotes for a project like this
Awarded to:
Skills Required

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online