def disp(op,i,j): global output if i==0 and j==0: return if op[i][j]=="C" or op[i][j]=="R": k=i-1 r=j-1 elif op[i][j]=="T": k=i-2 r=j-2 elif op[i][j]=="D": k=i-1 r=j elif op[i][j]=="I": k=i r=j-1 elif op[i][j]=="K": k=temp[i][j] r=j disp(op,k,r) output.write(str(op[i][j])+"\n") def main(x1,y1): global temp m=len(x1) n=len(y1) cost=[1]*6 c=[] op=[] for i in range(20): c.append([0]*20) for i in range(20): op.append([None]*20) x=[None]*(m+1) y=[None]*(n+1) for i in range(1,m+1): x[i]=x1[i-1] for j in range(1,n+1): y[j]=y1[j-1] c[0][0]=0 op[0][0]="N" for i in range(1,m+1): c[i][0]=i*cost[0] op[i][0]="D" for j in range(1,n+1): c[0][j]=j*cost[1] op[0][j]="I" for i in range(1,m+1): for j in range(1,n+1): c[i][j]=9999 if x[i]==y[j]: c[i][j]=c[i-1][j-1]+cost[2] op[i][j]="C" if x[i]!=y[j] and c[i-1][j-1]+cost[3]=2 and j>=2) and (x[i]==y[j-1] and x[i-1]==y[j]) and (c[i-2][j-2]+cost[4]