1666D - Deletive Editing - CodeForces Solution


greedy

Please click on ads to support us..

Python Code:

def solve():
    a, b = input().split()
    count = []
    for i in range(30):
        count.append(0)

    for c in a:
        n = ord(c) - ord('A')
        count[n] += 1

    for c in b:
        n = ord(c) - ord('A')
        count[n] -= 1
        if count[n] < 0:
            print("NO")
            return

    res = ''
    for c in a:
        n = ord(c) - ord('A')
        if count[n] == 0:
            res += c
        else:
            count[n] -= 1

    if res == b:
        print("YES")
    else:
        print("NO")


N = int(input())
for test in range(N):
    solve()


Comments

Submit
0 Comments
More Questions

519B - A and B and Compilation Errors
1152B - Neko Performs Cat Furrier Transform
1411A - In-game Chat
119A - Epic Game
703A - Mishka and Game
1504C - Balance the Bits
988A - Diverse Team
1312B - Bogosort
1616B - Mirror in the String
1660C - Get an Even String
489B - BerSU Ball
977C - Less or Equal
1505C - Fibonacci Words
1660A - Vasya and Coins
1660E - Matrix and Shifts
1293B - JOE is on TV
1584A - Mathematical Addition
1660B - Vlad and Candies
1472C - Long Jumps
1293D - Aroma's Search
918A - Eleven
1237A - Balanced Rating Changes
1616A - Integer Diversity
1627B - Not Sitting
1663C - Pōja Verdon
1497A - Meximization
1633B - Minority
688B - Lovely Palindromes
66B - Petya and Countryside
1557B - Moamen and k-subarrays