program 辅导 、讲解  C++语言程序
            
                Twin-towers are common building style in largest cities such as Shenzhen. Figure 1 shows the pictures of the Xinghe twin Towers in Shenzhen.
The objective of this assignment is to implement functions of
1) Constructing a graph of a twin tower automatically (see Figure 2 and 3), and
2) Finding a shortest path between two offices in the Towers, e.g. from room A125 to room B923.
Figure 1. The twin-tower of Xinghe in Shenzhen.
2 shows the plane for the ground floor. There are 88 nodes in total at the floor, of which 4 nodes are used to connect Tower A and Tower B, and the at both ends of the building as well. Other 84 nodes are used to connect
 Figure
   ground
    elevators
   office and corridors.
Node definitions
Node for office
(A/B) , by floor first letter is the name of the number(01-28), any number in
is room Nr. 20 at the first floor of floor of Tower B.
are numbering in a of name of (1-n), and then by room       The (A or B), while the last two digits are the room
Tower
rooms
Assignment 4 (Due, Wednesday April-30-2025) (40/100 points for assignments)
   numbers
room:
Office
format
  followed
number
rooms
   number
(1-28).
   Tower
 between
is the floor A, or
For example A120 is room Nr. 25 at the 100th
in a
then by floor
    Tower
  Node for
name of     (A/B) (1-n) and then the AC1109, is the 9th
Node numbers for name of
Nodes in corridors are by the letter C (for
  format:
numbers
Tower
node number (1-14) from left to right. For node from left at the 11th floor of A tower.
: for both elevators are in a similar (A/B)       by the letter E (for then by floor
      followed
number(1-n).
 B10025
  Tower
corridors:
followed
 corridor
defined
 Corridors),
 corridor
 defined
similar
format:
  number
  elevators
Nodes
example
  Elevators),
   
number
(1-n) and then elevator node number (1-2) from left to right. For example is the elevator on the left side at the 11th floor of B tower.
    BE1101,
     Figure 3 are only at other
Figure 2. The plane for the ground floor.
the for the floors 2nd - nth. The two towers
at the floor. There is no           A and B
shows
planes
connections
between
    available
ground
connection
between
Tower
  floors.
  Figure 3. Floor only. For other numbers.
Edge definitions
1) Nodesare all arcs are
for the 2nd - nth Node are for 2nd floor please use the         above to     the node
as     in   2and3.Itisan
floors.
shown
 planes
 floors,
 define
   connected
Figures
numbers
format
mentioned
shown
  undirected
 graph,
 means
 bidirectionally
connected.
 
2) The 3) The
are
for arcs arcs at the for arcs
as input
for arcs connecting an elevator node and a     nodes is 8. for other arcs are 5.
A2023-B21
weights
 crossbeam
weights
 variables
between
09,...). The Submissions
You need to develop the int
Input:
of the
path,int**
using the
FindShortestPath(std::string
connecting
A and B are 100. This is only for the two
floor.
two
it will travel floor by floor. This will make the
nodes
Tower
   bi-directional
elevator
ground
 connecting
 parameters
explanation
   connecting
across
crossbeams
A(n)23-B(n+1)09
example,
   10
4) The
5) The
6) For every 10th floors ( e.g. 10th, 20th , 40th , ...) in     A, there is a
floors,
 weights
   start,
is for AEn2, the third row of n-1] is for BEn2. The
for
floor of a
nodes between two floors later in the     Arcs
two
(see
only one floor. For   in case to travel for
 neighbor
function).
std::string
assignment
  -
(e.g. from
- B908, (e.g.
are the same as the
and AE101.
Tower
simple.
  weights weights
elevator
 corridor
 two-way
 A(n)22
B(n-1)08
A1022
A2022-B1908),
     another
t
wo-way
crossbeam
between
A1023-B1109,
     elevator
    following
 function
 Dijkstra
 algorithm.
    std::vector&
eWeights
  starting
point.
  point.
 the m is the
of
while the
);
end,
of the
 start - is name of the
end - is the name of the end
eWeights - is a 4xm matrix that
for the nodes for each
row of the
arcs for the
of
BEn1, and
be very large at a
is possible to find the path via e.g. the
arcs The first
row is for nodes might so that it
weights
   elevator
contains
                      the
AEn1, n is the floor
of the
number
floors.
outward
  floor.
    matrix
eWeights[0][n-1]
contains
weights
outwards
     number,
second
   Output
elevator
 eWeights[1][n-1]
eWeights[3][
particular
The value is the distance of the whole path (sum of all arcs in the path)
weights
particular
eWeights[2][n-1]
  elevator
   elevator,
   shortest
crossbeams.
   return
  std::vector& path is a of the nodes of the path in order from the
Hints: The input “start” and “end” the floor in each You
holds the names of node.
the       about
vector
string,
   starting
 includes
starting
 strings
   numbers
Tower.
should
utilize
it to
your
information
create
graph.
    
Submission:
The codes in a single file or one     file (*.h) + one file NO       IS
Your score for this assignment is based on two parts:
 Please
submit:
source
  source
(*.cpp).
OTHER
DOCUMENTS
header
NEEDED.
    1) Basic     30
2)
- Top 20%, full
-
20/50
Criteria: Your function can provide correct
It is based on 50/50
functionality
(50%).
     answers
within
performance
 ranking.
 21%-50%,
seconds.
  Performance
(50%).
  points,
 40/50;
  -51%-75%,
30/50;
  Others