Submission #67005206


Source Code Expand

Copy
mod=998244353
N=int(input())
S=[input() for _ in range(N)]
child=[[-1, -1]] #[left, right]
cnt=[0]
dp=[0]
f=[False]
pow2=[1]*(N+1)
for i in range(1,N+1):
pow2[i]=pow2[i-1]*2%mod
def culc(v):
inc=pow2[cnt[v]-1] if f[v] else 0
exc=1
for d in [0,1]:
c=child[v][d]
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
mod=998244353

N=int(input())
S=[input() for _ in range(N)]


child=[[-1, -1]] #[left, right]
cnt=[0]
dp=[0]
f=[False]


pow2=[1]*(N+1)
for i in range(1,N+1):
    pow2[i]=pow2[i-1]*2%mod

def culc(v):
    inc=pow2[cnt[v]-1] if f[v] else 0
    exc=1
    for d in [0,1]:
        c=child[v][d]
        if c==-1:
            exc=0
            break
        exc=exc*dp[c]%mod
    dp[v]=(inc+exc)%mod

for k in range(N):
    v=0
    path=[0]
    
    for ch in S[k]:
        d=1 if ch=="B" else 0
        
        if child[v][d]==-1:
            child[v][d]=len(child)
            child.append([-1, -1])
            cnt.append(0)
            dp.append(0)
            f.append(False)
            
        
        v=child[v][d]
        path.append(v)
    f[v]=True

    for u in reversed(path):
        cnt[u]+=1
        culc(u)

    print((dp[0]))

Submission Info

Submission Time
Task C - Prefix Covering
User kotafuku
Language Python (PyPy 3.10-v7.3.12)
Score 600
Code Size 897 Byte
Status AC
Exec Time 223 ms
Memory 216764 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 2
AC × 54
Set Name Test Cases
Sample sample-01.txt, sample-02.txt
All 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 05-08.txt, 06-01.txt, 06-02.txt, 06-03.txt, 06-04.txt, 06-05.txt, 06-06.txt, 06-07.txt, 06-08.txt, 07-01.txt, 07-02.txt, 07-03.txt, 07-04.txt, 07-05.txt, 08-01.txt, 08-02.txt, 08-03.txt, 08-04.txt, 09-01.txt, 09-02.txt, 09-03.txt, 09-04.txt, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
02-01.txt AC 52 ms 76368 KiB
02-02.txt AC 52 ms 76368 KiB
02-03.txt AC 53 ms 76448 KiB
02-04.txt AC 53 ms 76552 KiB
02-05.txt AC 54 ms 76420 KiB
02-06.txt AC 57 ms 80720 KiB
02-07.txt AC 65 ms 81868 KiB
02-08.txt AC 73 ms 81844 KiB
02-09.txt AC 84 ms 83436 KiB
02-10.txt AC 92 ms 83736 KiB
02-11.txt AC 98 ms 84332 KiB
02-12.txt AC 106 ms 85180 KiB
02-13.txt AC 128 ms 88840 KiB
02-14.txt AC 164 ms 95336 KiB
03-01.txt AC 93 ms 83420 KiB
03-02.txt AC 99 ms 84012 KiB
03-03.txt AC 106 ms 85232 KiB
03-04.txt AC 124 ms 88308 KiB
03-05.txt AC 164 ms 95112 KiB
04-01.txt AC 215 ms 200448 KiB
04-02.txt AC 216 ms 200584 KiB
04-03.txt AC 216 ms 216764 KiB
04-04.txt AC 208 ms 207396 KiB
05-01.txt AC 182 ms 100248 KiB
05-02.txt AC 189 ms 104696 KiB
05-03.txt AC 189 ms 107196 KiB
05-04.txt AC 196 ms 110268 KiB
05-05.txt AC 194 ms 112876 KiB
05-06.txt AC 217 ms 164796 KiB
05-07.txt AC 223 ms 199216 KiB
05-08.txt AC 222 ms 206640 KiB
06-01.txt AC 188 ms 100696 KiB
06-02.txt AC 190 ms 104248 KiB
06-03.txt AC 191 ms 106752 KiB
06-04.txt AC 193 ms 109836 KiB
06-05.txt AC 194 ms 112024 KiB
06-06.txt AC 215 ms 165536 KiB
06-07.txt AC 223 ms 199092 KiB
06-08.txt AC 221 ms 202304 KiB
07-01.txt AC 170 ms 102052 KiB
07-02.txt AC 169 ms 102188 KiB
07-03.txt AC 168 ms 100676 KiB
07-04.txt AC 171 ms 100528 KiB
07-05.txt AC 169 ms 101936 KiB
08-01.txt AC 180 ms 102948 KiB
08-02.txt AC 169 ms 101828 KiB
08-03.txt AC 171 ms 101124 KiB
08-04.txt AC 176 ms 100216 KiB
09-01.txt AC 173 ms 100536 KiB
09-02.txt AC 172 ms 102532 KiB
09-03.txt AC 174 ms 101112 KiB
09-04.txt AC 170 ms 100128 KiB
sample-01.txt AC 53 ms 76616 KiB
sample-02.txt AC 52 ms 76416 KiB


2025-06-30 (Mon)
12:08:31 +09:00