Abbreviation

Problem: Abbreviaton

We can solve this kind of string matching problem with dynamic programming, like Wildcard Matching and Regular Expression Matching

Code in Python:

import string

q = input()
for _ in xrange(q): 
    a = raw_input() 
    b = raw_input() 
    la, lb = len(a), len(b) 
    if lb > la: 
        print "NO" 
    dp = [[False] * (lb+1) for _ in xrange(la+1)] 
    dp[0][0] = True 
    for i in xrange(la): 
        if dp[i][0]: 
            dp[i+1][0] = True 
        for j in xrange(lb): 
            if dp[i][j] and a[i].lower() == b[j].lower(): 
                dp[i+1][j+1] = True 
            if dp[i][j+1] and a[i] in string.lowercase: 
                dp[i+1][j+1] = True 
    print "YES" if dp[-1][-1] else "NO"

results matching ""

    No results matching ""