113A - Grammar Lessons - CodeForces Solution


implementation strings *1600

Please click on ads to support us..

Python Code:

import sys, os, io
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline

s = list(input().rstrip().decode().split())
x = ["lios", "liala", "etr", "etra", "initis", "inites"]
n = len(s)
u = [-1] * n
for i in range(n):
    s0 = s[i]
    for j in range(6):
        if s0[-len(x[j]):] == x[j]:
            u[i] = j
            break
if n == 1:
    ans = "YES" if u[0] ^ -1 else "NO"
    print(ans)
    exit()
v = []
la = u[0]
for i in u:
    if la ^ i:
        v.append(la)
        la = i
v.append(la)
ans = "YES"
if min(v) == -1:
    ans = "NO"
for i in range(len(v) - 1):
    if not v[i] + 2 == v[i + 1]:
        ans = "NO"
if not u.count(2) + u.count(3) == 1:
    ans = "NO"
print(ans)


Comments

Submit
0 Comments
More Questions

1478B - Nezzar and Lucky Number
228A - Is your horseshoe on the other hoof
122A - Lucky Division
1611C - Polycarp Recovers the Permutation
432A - Choosing Teams
758A - Holiday Of Equality
1650C - Weight of the System of Nested Segments
1097A - Gennady and a Card Game
248A - Cupboards
1641A - Great Sequence
1537A - Arithmetic Array
1370A - Maximum GCD
149A - Business trip
34A - Reconnaissance 2
59A - Word
462B - Appleman and Card Game
1560C - Infinity Table
1605C - Dominant Character
1399A - Remove Smallest
208A - Dubstep
1581A - CQXYM Count Permutations
337A - Puzzles
495A - Digital Counter
796A - Buying A House
67A - Partial Teacher
116A - Tram
1472B - Fair Division
1281C - Cut and Paste
141A - Amusing Joke
112A - Petya and Strings