418531 ภาคต้น 2552/โจทย์ปัญหาการโปรแกรมพลวัต I/เฉลยข้อ 5
รุ่นแก้ไขเมื่อ 08:46, 3 ตุลาคม 2552 โดย Aoy (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย 'ให้ <math> OPT(i,j,k) \,</math> มีค่าเป็น yes ถ้า เราสามารถจัดวงเล็บใ…')
ให้ มีค่าเป็น yes ถ้า เราสามารถจัดวงเล็บในการคูณ ให้มีค่าเท่ากับ ได้ และมีค่าเป็น no ถ้าเราไม่สามารถจัดวงเล็บในการคูณ ให้มีค่าเท่ากับ ได้ หมายเหตุ นี้จะมีค่าเป็น ถึงแม้ผลสุดท้ายต้องการให้เป็น ก็ตาม แต่เนื่องจากว่า ก่อนที่จะได้เป็น อาจได้เป็นตัวอื่น ๆ ที่มากระทำกันจนกระทั่งได้ผลสุดท้ายเป็น ก็ได้
เขียนเป็น pseudocode ได้ดังนี้
<geshi lang="c"> PARENTHESIZATION
for i = 1 to n do for k = a to c do if x[i] = k then M[i,j,k] = true else M[i,j,k] = false for l = 2 to n do for i = 1 to n-l+1 do j = i+l-1 for k = i to j -1 do for alpha = a to c do M[i,j,alpha] = false for alpha = a to c do for beta = a to c do if M[i,k,alpha] and M[k+1,j,beta] then M[i,j,alpha * beta] = true return M[1,n,a]
</geshi>