write C++ for following question., Computer Engineering

Assignment Help:
We are planning an orienteering game.
The aim of this game is to arrive at the goal (G) from the start (S) with the shortest distance.
However, the players have to pass all the checkpoints (@) on the map.
An orienteering map is to be given in the following format.

########
#@....G#
##.##@##
#[email protected]#
#@.....#
########

In this problem, an orienteering map is to be given.
Calculate the minimum distance from the start to the goal with passing all the checkpoints

-Specification
* A map consists of 5 characters as following.
You can assume that the map does not contain any invalid characters and
the map has exactly one start symbol ''S'' and exactly one goal symbol ''G''.
* ''S'' means the orienteering start.
* ''G'' means the orienteering goal.
* ''@'' means an orienteering checkpoint.
* ''.'' means an opened-block that players can pass.
* ''#'' means a closed-block that players cannot pass.
* It is allowed to move only by one step vertically or horizontally (up, down, left, or right) to the
next block.
Other types of movements, such as moving diagonally (left up, right up, left down and right down)
and skipping one or more blocks, are NOT permitted.
* You MUST NOT get out of the map.
* Distance is to be defined as the number of movements to the different blocks.
* You CAN pass opened-blocks, checkpoints, the start, and the goal more than once if necessary
* You can assume that parameters satisfy following conditions.
* 1 <= width <= 100
* 1 <= height <= 100
* The maximum number of checkpoints is 18.
* Return -1 if given arguments do not satisfy specifications, or players cannot arrive at the goal from the start by passing all the checkpoints.

Input
The input is to be given in the following format, from the standard input.
W H
Row1
Row2
...
RowH
The first row is to describe the width and the height of the orienteering map, sectioned by a space.
From the second row, map information is to be given for exactly the same number of rows as the height.
Each row contains exactly the same number of letters as the width.
See “Specification” for details of the symbols contained in the map.

Output
Output into the standard output, and put a return.

Related Discussions:- write C++ for following question.

Find two negative polarity items - artificial intelligence, This question c...

This question can be answered either with respect to English or with respect to a language other than English. (If you you are not a native speaker of the language of your choice,

Name the numerous household devices, Name the Numerous household devices ...

Name the Numerous household devices Numerous household devices now use microprocessors to control their different functions. The following is just a sample of common devices (d

increase the number of rows or columns in a worksheet, How can I increase ...

How can I increase the number of rows or columns in a worksheet? Ans) In Excel, each workbook has 255 columns and 65,526 rows. These values are fixed and cannot be changed. If

What is multiplicity, What is multiplicity? Multiplicity is applied to ...

What is multiplicity? Multiplicity is applied to attributes for data base application. Multiplicity for an attribute specifies the number of possible value for every instantiat

Observing the existing system first hand, Observing the existing system fir...

Observing the existing system first hand This involves watching personnel using the existing system to find out precisely how it works. There are a number of disadvantages as

Microprocessors and interfaces, #question.write cycle timing diagram for ma...

#question.write cycle timing diagram for maximum mode of 8086 microprocessor.

Tightly coupled system- shared memory system, Tightly Coupled System- Share...

Tightly Coupled System- Shared Memory System Shared memory multiprocessorshas has following description: Every processor commune through a shared global memory. For

Show the liability of cpu in interrupt cycle, Q. Show the liability of CPU ...

Q. Show the liability of CPU in interrupt cycle? In the interrupt cycle the liability of CPU/Processor is to ensure whether any interrupts have happened checking presence of in

What is .net and .net framework, What is .NET / .NET Framework?  It is ...

What is .NET / .NET Framework?  It is a Framework in which Windows applications might be developed and run. The Microsoft .NET Framework is a platform for building, deploying,

What is the difference among conventional and HD T.V, a. Write down the sal...

a. Write down the salient difference among conventional T.V. and High Definition TV (HDTV) and also highlight the various benefits of digital representation for video. b. Video

Write Your Message!

Captcha
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