Python code is as shown below: # recursive function def row_puzzle_rec(row, pos, visited): # if the element at the current position is o we have reached our goal if rowlpos] == o: possible = True else: # make a copy of the visited array visited = visited[:} # if the element at the current position has been already visited then it's a loop. # as then its not possible to reach the last element, set possible to False if visited[pos): possible = False else: # set visitied for the element as True visited[pos] = True possible = False # if its possible to move left then recurse in the left direction if pos - rowlpos] > o and row_puzzle_rec(row, pos - rowlpos), visited): # return immediately if the goal is reached return True # if its possible to move right then recurse in the right direction if pos + rowlpos] < len(row) and row_puzzle_rec(row, pos + row[pos), visited): # return immediately if the goal is reached. return True return possible def row_puzzle(row): # visited array will be used to check if a particular element was visited # initialize the array to False visited = [False for item in range(len(row))} # second argument is the token position initialized to o return row_puzzle_rec(row, o, visited) possible = row_puzzle([2, 4, 5, 3, I, 3, 1, 4, ol) print(possible) possible = row_puzzle([1, 3, 2, 1, 3, 4, o]) print(possible)
Python code is as shown below: # recursive function def row_puzzle_rec(row, pos, visited): # if the element at the current position is o we have reached our goal if rowlpos] == o: possible = True else: # make a copy of the visited array visited = visited[:} # if the element at the current position has been already visited then it's a loop. # as then its not possible to reach the last element, set possible to False if visited[pos): possible = False else: # set visitied for the element as True visited[pos] = True possible = False # if its possible to move left then recurse in the left direction if pos - rowlpos] > o and row_puzzle_rec(row, pos - rowlpos), visited): # return immediately if the goal is reached return True # if its possible to move right then recurse in the right direction if pos + rowlpos] < len(row) and row_puzzle_rec(row, pos + row[pos), visited): # return immediately if the goal is reached. return True return possible def row_puzzle(row): # visited array will be used to check if a particular element was visited # initialize the array to False visited = [False for item in range(len(row))} # second argument is the token position initialized to o return row_puzzle_rec(row, o, visited) possible = row_puzzle([2, 4, 5, 3, I, 3, 1, 4, ol) print(possible) possible = row_puzzle([1, 3, 2, 1, 3, 4, o]) print(possible)
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
Related questions
Question
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 2 images
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY