
import math
import os
import random
import re
import sys

# See https://en.wikipedia.org/wiki/Longest_common_subsequence_problem
def commonChild(s1, s2):
    matrix = [[0 for i in range(len(s2) + 1)] for j in range(len(s1)+ 1)]

    for row_i in range(len(s1)):
        for col_i in range(len(s2)):
            if s1[row_i] == s2[col_i]:
                matrix[row_i + 1][col_i + 1] = matrix[row_i][col_i] + 1
            else:
                matrix[row_i + 1][col_i + 1] = max(matrix[row_i+1][col_i], matrix[row_i][col_i + 1])

    return matrix[len(s1)][len(s2)]




if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')
    s1 = input()
    s2 = input()
    result = commonChild(s1, s2)
    fptr.write(str(result) + '\n')
    fptr.close()


import math
import os
import random
import re
import sys

# See https://en.wikipedia.org/wiki/Longest_common_subsequence_problem
# This solution creates the matrix described in "Traceback approach"
def common_child(s1, s2):
    matrix = [[0 for i in range(len(s2) + 1)] for j in range(len(s1)+ 1)]

    for row_i in range(len(s1)):
        for col_i in range(len(s2)):
            if s1[row_i] == s2[col_i]:
                matrix[row_i + 1][col_i + 1] = matrix[row_i][col_i] + 1
            else:
                matrix[row_i + 1][col_i + 1] = max(matrix[row_i+1][col_i], matrix[row_i][col_i + 1])

    return matrix[len(s1)][len(s2)]

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')
    s1 = input()
    s2 = input()
    result = common_child(s1, s2)
    fptr.write(str(result) + '\n')
    fptr.close()

Include dev comment on solution
Include dev comment on solution

  
  import math
  import os
  import random
  import re
  import sys
  
  # See https://en.wikipedia.org/wiki/Longest_common_subsequence_problem
+ # This solution creates the matrix described in "Traceback approach"
- def commonChild(s1, s2):
+ def common_child(s1, s2):
      matrix = [[0 for i in range(len(s2) + 1)] for j in range(len(s1)+ 1)]
  
      for row_i in range(len(s1)):
          for col_i in range(len(s2)):
              if s1[row_i] == s2[col_i]:
                  matrix[row_i + 1][col_i + 1] = matrix[row_i][col_i] + 1
              else:
                  matrix[row_i + 1][col_i + 1] = max(matrix[row_i+1][col_i], matrix[row_i][col_i + 1])
  
      return matrix[len(s1)][len(s2)]
  
- 
- 
- 
  if __name__ == '__main__':
      fptr = open(os.environ['OUTPUT_PATH'], 'w')
      s1 = input()
      s2 = input()
-     result = commonChild(s1, s2)
+     result = common_child(s1, s2)
      fptr.write(str(result) + '\n')
      fptr.close()
  
Include dev comment on solution
## Code Before:

import math
import os
import random
import re
import sys

# See https://en.wikipedia.org/wiki/Longest_common_subsequence_problem
def commonChild(s1, s2):
    matrix = [[0 for i in range(len(s2) + 1)] for j in range(len(s1)+ 1)]

    for row_i in range(len(s1)):
        for col_i in range(len(s2)):
            if s1[row_i] == s2[col_i]:
                matrix[row_i + 1][col_i + 1] = matrix[row_i][col_i] + 1
            else:
                matrix[row_i + 1][col_i + 1] = max(matrix[row_i+1][col_i], matrix[row_i][col_i + 1])

    return matrix[len(s1)][len(s2)]




if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')
    s1 = input()
    s2 = input()
    result = commonChild(s1, s2)
    fptr.write(str(result) + '\n')
    fptr.close()

## Instruction:
Include dev comment on solution
## Code After:

import math
import os
import random
import re
import sys

# See https://en.wikipedia.org/wiki/Longest_common_subsequence_problem
# This solution creates the matrix described in "Traceback approach"
def common_child(s1, s2):
    matrix = [[0 for i in range(len(s2) + 1)] for j in range(len(s1)+ 1)]

    for row_i in range(len(s1)):
        for col_i in range(len(s2)):
            if s1[row_i] == s2[col_i]:
                matrix[row_i + 1][col_i + 1] = matrix[row_i][col_i] + 1
            else:
                matrix[row_i + 1][col_i + 1] = max(matrix[row_i+1][col_i], matrix[row_i][col_i + 1])

    return matrix[len(s1)][len(s2)]

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')
    s1 = input()
    s2 = input()
    result = common_child(s1, s2)
    fptr.write(str(result) + '\n')
    fptr.close()
