forked from mpfeifer1/Kattis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrhyming.py
55 lines (45 loc) · 1.17 KB
/
rhyming.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import fileinput
def myequal(str1, str2):
lentocheck = min(len(str1), len(str2))
thisworks = True
for i in range(lentocheck):
if str1[i] != str2[i]:
thisworks = False
return thisworks
def main():
word = None
rhymeschemes = []
phrases = []
validrhymes = []
ints = 0
for line in fileinput.input():
try:
int(line)
ints += 1
except:
if ints == 0:
word = line[:-1]
if ints == 1:
rhymeschemes.append(line.split())
if ints == 2:
phrases.append(line[:-1])
word = word[::-1]
for scheme in rhymeschemes:
works = False
for rhyme in scheme:
rhyme = rhyme[::-1]
works |= myequal(rhyme, word)
if works:
for rhyme in scheme:
validrhymes.append(rhyme[::-1])
for phrase in phrases:
works = False
for rhyme in validrhymes:
if myequal(rhyme, phrase[::-1]):
works = True
if works:
print("YES")
else:
print("NO")
if __name__ == "__main__":
main()