結果
問題 | No.1740 Alone 'a' |
ユーザー | MasKoaTS |
提出日時 | 2021-11-13 12:55:35 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 453 ms / 2,000 ms |
コード長 | 1,696 bytes |
コンパイル時間 | 160 ms |
コンパイル使用メモリ | 82,252 KB |
実行使用メモリ | 178,012 KB |
最終ジャッジ日時 | 2024-05-05 10:55:06 |
合計ジャッジ時間 | 12,415 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 129 ms
85,860 KB |
testcase_01 | AC | 128 ms
86,204 KB |
testcase_02 | AC | 124 ms
86,308 KB |
testcase_03 | AC | 453 ms
178,012 KB |
testcase_04 | AC | 439 ms
177,924 KB |
testcase_05 | AC | 166 ms
91,980 KB |
testcase_06 | AC | 169 ms
90,792 KB |
testcase_07 | AC | 143 ms
89,452 KB |
testcase_08 | AC | 126 ms
86,248 KB |
testcase_09 | AC | 130 ms
86,244 KB |
testcase_10 | AC | 128 ms
86,272 KB |
testcase_11 | AC | 205 ms
101,640 KB |
testcase_12 | AC | 378 ms
155,304 KB |
testcase_13 | AC | 379 ms
155,504 KB |
testcase_14 | AC | 432 ms
177,552 KB |
testcase_15 | AC | 156 ms
89,856 KB |
testcase_16 | AC | 361 ms
147,968 KB |
testcase_17 | AC | 152 ms
89,652 KB |
testcase_18 | AC | 192 ms
96,880 KB |
testcase_19 | AC | 391 ms
156,392 KB |
testcase_20 | AC | 278 ms
119,532 KB |
testcase_21 | AC | 302 ms
132,224 KB |
testcase_22 | AC | 348 ms
146,816 KB |
testcase_23 | AC | 349 ms
145,904 KB |
testcase_24 | AC | 280 ms
119,964 KB |
testcase_25 | AC | 280 ms
120,756 KB |
testcase_26 | AC | 313 ms
132,992 KB |
testcase_27 | AC | 340 ms
137,092 KB |
testcase_28 | AC | 305 ms
126,420 KB |
testcase_29 | AC | 446 ms
177,480 KB |
testcase_30 | AC | 331 ms
135,344 KB |
testcase_31 | AC | 370 ms
147,196 KB |
testcase_32 | AC | 292 ms
126,700 KB |
testcase_33 | AC | 351 ms
147,064 KB |
testcase_34 | AC | 198 ms
98,664 KB |
testcase_35 | AC | 310 ms
125,420 KB |
testcase_36 | AC | 265 ms
117,316 KB |
testcase_37 | AC | 206 ms
99,712 KB |
testcase_38 | AC | 250 ms
113,140 KB |
testcase_39 | AC | 178 ms
92,356 KB |
testcase_40 | AC | 232 ms
104,044 KB |
ソースコード
import itertools as iter import collections as coll import heapq as hq import bisect as bis from decimal import Decimal as dec from copy import deepcopy as dcopy import math import sys sys.setrecursionlimit(10**6) def input(): return sys.stdin.readline().rstrip() def getN(): return int(sys.stdin.readline()) def getNs(): return map(int,sys.stdin.readline().split()) def getList(): return list(map(int,sys.stdin.readline().split())) def strinps(n): return [sys.stdin.readline().rstrip() for _ in range(n)] pi = 3.141592653589793 mod = 10**9+7 MOD = 998244353 INF = math.inf dx = [1,0,-1,0]; dy = [0,1,0,-1] def ctoi(char): return ord(char)-ord('a') """ Main Code """ n = getN() s = input() l = [ctoi(c) for c in s] dp = [[0]*4 for _ in [0]*n] ndp = dcopy(dp) dp[0][0b00] = max(0,l[0]-1) dp[0][0b01] = int(l[0] != 0) dp[0][0b10] = int(l[0] != 0) dp[0][0b11] = int(l[0] == 0) #print(dp) for i in range(1,n): # 0 を 1 つも含まず、S より小さい dp[i][0b00] += dp[i-1][0b00] * 25; dp[i][0b00] %= MOD dp[i][0b00] += dp[i-1][0b10] * max(0,l[i]-1); dp[i][0b00] %= MOD # 0 を 1 つだけ含み、S より小さい dp[i][0b01] += dp[i-1][0b00]; dp[i][0b01] %= MOD dp[i][0b01] += dp[i-1][0b01] * 25; dp[i][0b01] %= MOD dp[i][0b01] += dp[i-1][0b10] * (l[i] != 0); dp[i][0b01] %= MOD dp[i][0b01] += dp[i-1][0b11] * max(0,l[i]-1); dp[i][0b01] %= MOD # 0 を 1 つも含まず、S と等しい dp[i][0b10] += dp[i-1][0b10] * (l[i] != 0); dp[i][0b10] %= MOD # 0 を 1 つだけ含み、S と等しい dp[i][0b11] += dp[i-1][0b10] * (l[i] == 0); dp[i][0b11] %= MOD dp[i][0b11] += dp[i-1][0b11] * (l[i] != 0); dp[i][0b10] %= MOD #print(dp) print(dp[n-1][0b01])