#HomeWork#16 #Please do not post homework #Abrar Almahmeed, March 29 #Question 1: AntiRS := proc(pair) local P,Q,n,k,i,j,x,pi,row: P := pair[1]: Q := pair[2]: if pair=[[[],[]],[[],[]]] then RETURN ([]): fi: n := add(nops(P[i]), i=1..nops(P)): #number of entries pi := []: k := n: while k >= 1 do #find k in Q for i from 1 to nops(Q) do for j from 1 to nops(Q[i]) do if Q[i][j] = k then x := P[i][j]: # take k from P P[i] := [op(1..j-1,P[i]), op(j+1..-1,P[i])]: # remove it from P row:=i: while row > 1 do row := row - 1: j := nops(P[row]): while j >= 1 do if P[row][j] < x then x, P[row][j] := P[row][j], x: break: fi: j := j - 1: od: od: pi := [x, op(pi)]: fi: od: od: k := k - 1: od: return pi: end: