結果
問題 | No.1740 Alone 'a' |
ユーザー | MasKoaTS |
提出日時 | 2021-11-13 12:55:35 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 447 ms / 2,000 ms |
コード長 | 1,696 bytes |
コンパイル時間 | 155 ms |
コンパイル使用メモリ | 82,124 KB |
実行使用メモリ | 177,792 KB |
最終ジャッジ日時 | 2024-11-27 07:16:20 |
合計ジャッジ時間 | 12,610 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 124 ms
86,144 KB |
testcase_01 | AC | 125 ms
86,144 KB |
testcase_02 | AC | 126 ms
86,096 KB |
testcase_03 | AC | 438 ms
177,792 KB |
testcase_04 | AC | 426 ms
177,664 KB |
testcase_05 | AC | 169 ms
91,684 KB |
testcase_06 | AC | 168 ms
91,008 KB |
testcase_07 | AC | 146 ms
89,424 KB |
testcase_08 | AC | 130 ms
85,888 KB |
testcase_09 | AC | 124 ms
86,300 KB |
testcase_10 | AC | 128 ms
86,292 KB |
testcase_11 | AC | 208 ms
101,792 KB |
testcase_12 | AC | 391 ms
155,176 KB |
testcase_13 | AC | 371 ms
155,112 KB |
testcase_14 | AC | 434 ms
177,448 KB |
testcase_15 | AC | 159 ms
89,964 KB |
testcase_16 | AC | 349 ms
148,096 KB |
testcase_17 | AC | 158 ms
89,728 KB |
testcase_18 | AC | 193 ms
96,944 KB |
testcase_19 | AC | 390 ms
156,352 KB |
testcase_20 | AC | 270 ms
119,296 KB |
testcase_21 | AC | 314 ms
132,224 KB |
testcase_22 | AC | 345 ms
146,560 KB |
testcase_23 | AC | 343 ms
145,792 KB |
testcase_24 | AC | 280 ms
120,064 KB |
testcase_25 | AC | 275 ms
120,192 KB |
testcase_26 | AC | 311 ms
132,736 KB |
testcase_27 | AC | 322 ms
136,832 KB |
testcase_28 | AC | 295 ms
126,236 KB |
testcase_29 | AC | 447 ms
177,208 KB |
testcase_30 | AC | 322 ms
135,808 KB |
testcase_31 | AC | 351 ms
147,200 KB |
testcase_32 | AC | 297 ms
126,620 KB |
testcase_33 | AC | 347 ms
146,688 KB |
testcase_34 | AC | 200 ms
98,624 KB |
testcase_35 | AC | 291 ms
125,408 KB |
testcase_36 | AC | 264 ms
117,248 KB |
testcase_37 | AC | 207 ms
99,808 KB |
testcase_38 | AC | 252 ms
113,152 KB |
testcase_39 | AC | 177 ms
92,288 KB |
testcase_40 | AC | 219 ms
104,064 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])