CSES - E4590 2018 5 - Results
Submission details
Task:Family chronicle
Sender:FiratKiyak
Submission time:2018-10-13 15:07:54 +0300
Language:Python3
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.05 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.05 sdetails
#6ACCEPTED0.04 sdetails
#7ACCEPTED0.05 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.05 sdetails
#11ACCEPTED0.06 sdetails
#12ACCEPTED0.06 sdetails
#13ACCEPTED0.25 sdetails
#140.29 sdetails
#15--details
#16--details
#17--details
#18--details
#19--details
#20--details
#21--details
#22--details
#23--details
#24--details
#25--details
#26--details
#27--details
#28--details
#29--details
#30--details
#31--details
#32--details
#33--details
#34--details
#35--details
#36--details
#37--details
#38--details
#39--details
#40--details

Code

# -*- coding: utf-8 -*-
"""
Created on Sat Oct 13 13:58:09 2018

@author: Fırat
"""

s = input()
n = int(input())
p = 19

def getHash(word,k):
    return sum([(p**((k-1)-i))*ord(word[i]) for i in range(k)])

def k_hash(s,k,p):
    core = [getHash(s,k)]
    for i in range(1, (len(s)-k)+1):
        core.append(p*core[-1]+ord(s[i+k-1])-(p**k)*ord(s[i-1]))
    return core
    
def check(word):    
    k = len(word)
    #construct k-hash
    lis = k_hash(s,k,p)
    #not s the word
    has = getHash(word,k)
    for i,val in zip(range(len(lis)), lis):
        if val == has:
            for o in range(k):
                if s[i+o] != word[o]:
                    break
            return True
    return False
        

for i in range(n):
    print('YES' if check(input()) else 'NO')
    

Test details

Test 1

Verdict: ACCEPTED

input
NOLLFDD
4
D
F
GD
...

correct output
YES
YES
NO
YES

user output
YES
YES
NO
YES

Test 2

Verdict: ACCEPTED

input
NLHIJHFLL
4
LH
IJX
U
...

correct output
YES
NO
NO
NO

user output
YES
NO
NO
NO

Test 3

Verdict: ACCEPTED

input
KMLZVXCDAAK
5
CDAA
MAZ
DA
...

correct output
YES
NO
YES
NO
YES

user output
YES
NO
YES
NO
YES

Test 4

Verdict: ACCEPTED

input
YSKBJNAQNAXDCJ
6
C
YJKB
KC
...

correct output
YES
NO
NO
YES
YES
...

user output
YES
NO
NO
YES
YES
...

Test 5

Verdict: ACCEPTED

input
SUNSZYCIPNOKBKYOSH
6
KEK
ZQC
E
...

correct output
NO
NO
NO
YES
NO
...

user output
NO
NO
NO
YES
NO
...

Test 6

Verdict: ACCEPTED

input
PEEKYVCXKPRDFBIQBCMOOD
6
Z
I
WK
...

correct output
NO
YES
NO
YES
NO
...

user output
NO
YES
NO
YES
NO
...

Test 7

Verdict: ACCEPTED

input
WFFFWXFWFFXXXFWXWWWFWWFFWFFFWF...

correct output
YES
YES
NO
YES

user output
YES
YES
NO
YES

Test 8

Verdict: ACCEPTED

input
MMWTJEOANERJSZVWPTHGUPBVEIXFUH...

correct output
YES
YES
YES
NO
YES
...

user output
YES
YES
YES
NO
YES
...

Test 9

Verdict: ACCEPTED

input
SXSXXXXXXXXXXXXXSXXXXXXXXXXXXX...

correct output
YES
YES
YES
YES
YES

user output
YES
YES
YES
YES
YES

Test 10

Verdict: ACCEPTED

input
EWLWHMLGWWLBOZNDUOANXGJUDTFUVJ...

correct output
YES
NO
YES
YES
YES
...

user output
YES
NO
YES
YES
YES
...

Test 11

Verdict: ACCEPTED

input
RRPPRRPPPPPRRPPPPPPPPPPRPRRRPP...

correct output
YES
YES
YES
YES
YES
...

user output
YES
YES
YES
YES
YES
...

Test 12

Verdict: ACCEPTED

input
ZWPOBWAZUUXXOHBHAPPLOOBAHZWPGO...

correct output
NO
YES
NO
NO
YES
...

user output
NO
YES
NO
NO
YES
...

Test 13

Verdict: ACCEPTED

input
KQOANBJEFBYZKANIJUCUXAUEPKJFGO...

correct output
YES
NO
YES
YES
NO
...

user output
YES
NO
YES
YES
NO
...

Test 14

Verdict:

input
KLEFLAALELPKWAPEKKKAPLAEFEKATL...

correct output
NO
YES
YES
YES
YES
...

user output
NO
YES
YES
YES
YES
...

Test 15

Verdict:

input
ZKGGKUKKKGKGGKUGUUKKGUGGKUOKGG...

correct output
YES
YES
YES
YES
YES
...

user output
(empty)

Test 16

Verdict:

input
RRRRRRRRRRRVRQRRQRRRRRRRRQRRRR...

correct output
YES
YES
YES
YES
YES
...

user output
(empty)

Test 17

Verdict:

input
OYWWPKKSYYCEHRWIKSKSEDPDBABIOF...

correct output
YES
YES
YES
NO
YES
...

user output
(empty)

Test 18

Verdict:

input
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

correct output
YES
YES
YES
YES
YES
...

user output
(empty)

Test 19

Verdict:

input
GGGGGGWGWGGWWGWGWGWWGWWWGWGGGW...

correct output
YES
YES
YES
YES
YES
...

user output
(empty)

Test 20

Verdict:

input
QVQQQVBVQBVQQVIVIVQVQQBQQQBQQV...

correct output
YES
YES
YES
YES
YES
...

user output
(empty)

Test 21

Verdict:

input
STUZEDPGLJKQXBPYTQVKDXSVZAOYPO...

correct output
YES
NO
NO
NO
NO
...

user output
(empty)

Test 22

Verdict:

input
ZTJZMZMMJDJMMTMJNZDGJDJJMGTNZM...

correct output
NO
NO
NO
YES
NO
...

user output
(empty)

Test 23

Verdict:

input
JJTJJTTJTJTJTJTJTTTTTJTJJJTTTT...

correct output
YES
YES
YES
YES
NO
...

user output
(empty)

Test 24

Verdict:

input
QLQQLQQLQQQQQLQLQLLLQQQQLLLLLL...

correct output
YES
NO
YES
YES
YES
...

user output
(empty)

Test 25

Verdict:

input
EECBCBBECECBBBCEBEECBCCCECEBBC...

correct output
YES
YES
NO
NO
YES
...

user output
(empty)

Test 26

Verdict:

input
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...

correct output
YES
YES
YES
YES
YES
...

user output
(empty)

Test 27

Verdict:

input
GYUIJZOSVBNNHBJFZXJCTAGYHEOEYI...

correct output
YES
YES
YES
YES
NO
...

user output
(empty)

Test 28

Verdict:

input
PKMQQIWPQNFJFTBCLAMSMAZHLIQOKK...

correct output
YES
NO
YES
YES
NO
...

user output
(empty)

Test 29

Verdict:

input
UCYZBQRZDPTDFDICDCVZPDCUPGYZZF...

correct output
YES
YES
YES
NO
YES
...

user output
(empty)

Test 30

Verdict:

input
PPPPPPPPPPPPPPPPPPPPPPPPPDPPDP...

correct output
YES
YES
YES
YES
YES
...

user output
(empty)

Test 31

Verdict:

input
EEENNEEEENNNNEENENNNEENENEEENE...

correct output
YES
NO
YES
YES
YES
...

user output
(empty)

Test 32

Verdict:

input
FWVMCMYKALJMZEQPKUCRTUGDNUJOHB...

correct output
NO
YES
NO
YES
YES
...

user output
(empty)

Test 33

Verdict:

input
UUUUUUUUUUUUUUUUUUUUHUUUUUUUUU...

correct output
YES
YES
YES
YES
YES
...

user output
(empty)

Test 34

Verdict:

input
IIIIOIIIFIIIIIIIOOIIIIOOIIIFII...

correct output
NO
NO
YES
NO
YES
...

user output
(empty)

Test 35

Verdict:

input
PPIPUIBPIIXUCICPIUCIOPXUXIIIUX...

correct output
YES
NO
YES
NO
YES
...

user output
(empty)

Test 36

Verdict:

input
AYYYYAYAAAAAJAAAWAAYAYAYIAWYYY...

correct output
YES
YES
NO
YES
YES
...

user output
(empty)

Test 37

Verdict:

input
AAAEAANNANEAEAEAPEAAAAAEAAAEAA...

correct output
NO
NO
YES
NO
YES
...

user output
(empty)

Test 38

Verdict:

input
PPPPLKPTKZPZPKGPPKZKPPPPPLPPSP...

correct output
YES
YES
YES
YES
YES
...

user output
(empty)

Test 39

Verdict:

input
AAOOOOAAOOAAOOAOOOOAAOAAAAAAAO...

correct output
YES
NO
YES
YES
YES
...

user output
(empty)

Test 40

Verdict:

input
QSCCSWNRLLTWPQCGJSZCLPJJVUXJJR...

correct output
YES
YES
YES
YES
NO
...

user output
(empty)