Please use C++ Extend and implement the Dynamic Programming Algorithm in the last example of the relevant slides so that it prints a parenthesized expression yielding the goal or “No parenthesization possible.” if no such parenthesization exists.  Input format (no need to check its validity): The first line contains a positive integer (say n). The symbols: The second line contains at least n characters (if it contains more, only the first n are relevant). These characters are the symbols of the alphabet. The last symbol is the “goal”. The operation: The following n lines contain at least n characters each (if a line contains more characters, only the first n are relevant). This is an nxn matrix containing the results of the operations. Expression: The last line of the input contains a sequence of characters, consisting of the valid symbols for which you have to seek for a parenthesization. A sample input: 3 abc aac baa caa caaccb   and corresponding possible outputs (not exhaustive):   (c((aa)((cc)b)) (c(a(a((cc)b)))) (((ca)a)((cc)b)) (((ca)a)((cc)b))

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...
icon
Related questions
Question

Please use C++

Extend and implement the Dynamic Programming Algorithm in the last example of the relevant slides so that it prints a parenthesized expression yielding the goal or “No parenthesization possible.” if no such parenthesization exists. 

Input format (no need to check its validity):

  • The first line contains a positive integer (say n).
  • The symbols: The second line contains at least n characters (if it contains more, only the first n are relevant). These characters are the symbols of the alphabet. The last symbol is the “goal”.
  • The operation: The following n lines contain at least n characters each (if a line contains more characters, only the first n are relevant). This is an nxn matrix containing the results of the operations.
  • Expression: The last line of the input contains a sequence of characters, consisting of the valid symbols for which you have to seek for a parenthesization.

A sample input:

3

abc

aac

baa

caa

caaccb

 

and corresponding possible outputs (not exhaustive):

 

(c((aa)((cc)b))

(c(a(a((cc)b))))

(((ca)a)((cc)b))

(((ca)a)((cc)b))

• Let us define a binary operation ® on three symbols a, b, c according
to the following table; thus a b = b , b® a = c , and so on. Notice
that the operation defined by the table is neither associative nor
commutative.
a
b
C
a
b
a
a
Describe an efficient algorithm that examines a string of these
symbols, say bbbbac , and decides whether or not it is possible to
parenthesize the string in such a way that the value of the resulting
expression is p = a. For example, on input bbbbac your algorithm
should return yes because ((b® (b® b)) ® (b ® a)) ® c = a.
Transcribed Image Text:• Let us define a binary operation ® on three symbols a, b, c according to the following table; thus a b = b , b® a = c , and so on. Notice that the operation defined by the table is neither associative nor commutative. a b C a b a a Describe an efficient algorithm that examines a string of these symbols, say bbbbac , and decides whether or not it is possible to parenthesize the string in such a way that the value of the resulting expression is p = a. For example, on input bbbbac your algorithm should return yes because ((b® (b® b)) ® (b ® a)) ® c = a.
Solution
• For 1 <isj< n, we let T[i,j] C {a, b, c} denote the set of symbols e for which
there is a parenthesization of x;..X; yielding e. We let e ® b denote the product
of e and b using the table. p e {a, b, c} is the symbol we are considering.
• Pseudocode
for i +1 to n do
T[i, i] + X;
for s +1 to n-1 do
for i +1 to n-s do
T[i,i + s] + Ø
for k +i to i+s-1 do
for each e e T[i,k] do
for each b e T[k + 1,i + s] do
T[i,i+s] + T[i,i+s] Ue ® b
if p e T[1,n] then
return yes
else
return no
Transcribed Image Text:Solution • For 1 <isj< n, we let T[i,j] C {a, b, c} denote the set of symbols e for which there is a parenthesization of x;..X; yielding e. We let e ® b denote the product of e and b using the table. p e {a, b, c} is the symbol we are considering. • Pseudocode for i +1 to n do T[i, i] + X; for s +1 to n-1 do for i +1 to n-s do T[i,i + s] + Ø for k +i to i+s-1 do for each e e T[i,k] do for each b e T[k + 1,i + s] do T[i,i+s] + T[i,i+s] Ue ® b if p e T[1,n] then return yes else return no
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
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 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)
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
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY