Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Please provide a Python Program Specification This project is based on a popular puzzle, variously known as Hashiwokakero, Hashi or Bridges. You will need to
Please provide a Python Program
Specification
This project is based on a popular puzzle, variously known as "Hashiwokakero", "Hashi" or "Bridges". You will need to write a program to solve this puzzle, and provide a brief description of the algorithm and data structures you have used. The input to your program will be a rectangular array of numbers and dots, for example:
caa
ab
Each number represents an "island", while the dots represent the empty space water between the islands. Numbers larger than are indicated by ab or c The aim is to connect all the islands with a network of bridges, satisfying these rules:
all bridges must run horizontally or vertically
bridges are not allowed to cross each other, or other islands
there can be no more than three bridges connecting any pair of islands
the total number of bridges connected to each island must be equal to the number on the island
For example, after reading the line input above, your program might produce this output:
EEE
EEEE
# #
EcEEEaEaEE
# # ##
#EabEE
# # #
# # #
Note that single bridges are indicated by the characters or pairs of bridges by or and triples by E or # depending on whether they run horizontally or vertically. Water between bridges and islands is indicated by space characters
In some cases, there may be many solutions, in which case your program should only print one solution. More details about the puzzle can be found on this Wikipedia page. Note, however, that our version allows up to bridges instead of ; also, we do not insist that the entire graph be connected.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started