Skip to content

Instantly share code, notes, and snippets.

@imedadel
Created November 4, 2019 13:56
Show Gist options
  • Save imedadel/754cbbdfc34ced6bd9009585bee2b64c to your computer and use it in GitHub Desktop.
Save imedadel/754cbbdfc34ced6bd9009585bee2b64c to your computer and use it in GitHub Desktop.
q = int(input().strip())
def abbr(a, b):
grid = [[0 for _ in range(len(b)+1)] for _ in range(len(a)+1)]
longest = 0
for i in range(len(a)+1):
for j in range(len(b)+1):
if j == 0 or i == 0:
grid[i][j] = 0
elif a[i-1] == b[j-1]:
grid[i][j] = grid[i-1][j-1] + 1
longest = max(longest, grid[i][j])
else:
grid[i][j] = max(grid[i-1][j], grid[i][j-1])
if longest == len(b):
return "YES"
else:
return "NO"
while q > 0:
q -= 1
a = input().strip().lower()
b = input().strip().lower()
print(abbr(a,b))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment