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.

What is unordered lists, Q. What is Unordered Lists? First, we will bui...

Q. What is Unordered Lists? First, we will build an unordered list. Many times, these lists are also termed as bulleted lists. These lists are characterized by list items which

Explain non-pre-emptive algorithms, Explain non-pre-emptive algorithms?   ...

Explain non-pre-emptive algorithms?   Non preemptive algorithms: In this algorithm a job is provided to CPU for execution as long as the job is non-completed the CPU cannot

Assignment for statical natural language processing, Hi I study master of ...

Hi I study master of computer science I have assignment for subject statical natural language processing . I need solved due date on 6 May2014 at 11 pm Australia time I need yo

Search methods and heuristics - artificial intelligence, Search Methods and...

Search Methods and Heuristics - Artificial intelligence: Here now we come to the question of how constraint solvers search for solutions -constraint preserving coursework of v

Translation table encryption technique to secure transaction, Discuss about...

Discuss about Translation table encryption technique to ensure secured transactions onto the net? Translation table: In this process each chunk of data is used like an of

What is dom, DOM is the Document Object Model (DOM) which is an interface s...

DOM is the Document Object Model (DOM) which is an interface specification handled by the W3C DOM Workgroup that explains an application independent mechanism to access, parse, or

Determine the quivalence partitioning, Determine the quivalence Partitionin...

Determine the quivalence Partitioning? The division of domain data into dissimilar equivalence data classes is performed using Equivalence Partitioning. It is executed for redu

Explain the resources of an operating system, Explain the resources of da...

Explain the resources of data structure is used by an operating system to keep track of process information? Explain A process is a program in execution. An operating system

Determine the address when network address prefixed by 1000, A network addr...

A network address prefixed by 1000 is? A network address prefixed through 1000 is Class B address.

Serialized when you perform serialization, What exactly is being serialized...

What exactly is being serialized when you perform serialization? Serialization is the process of changing an object into stream of bytes. We perform it at the time of transpor

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