Submission #34865268


Source Code Expand

# 入力の受け取り

N = int(input())
S = input()

# 今回はatcoderをTとする
T = "atcoder"

# 余りのための変数
mod = 10**9+7

#0文字からN文字まで考えるので、"+1個"配列を定義
dp = [[0]*(len(T)+1) for _ in range(N+1)]

# j=0の時、全て1を代入
for i in range(N+1):
  dp[i][0] = 1

# S[i]がT[j]に等しいかで場合分け
# dpのiとS[i]で示すiが1ズレている点に注意(jも同様)
# 答えをmodで割った余りを格納
for i in range(N):
  for j in range(len(T)):
    if S[i] == T[j]:
      dp[i+1][j+1] = dp[i][j] + dp[i][j+1]
      dp[i+1][j+1] %= mod
    else:
      dp[i+1][j+1] = dp[i][j+1]
      dp[i+1][j+1] %= mod

# N文字まで使って、Tになる時の通り数を出力
print(dp[N][len(T)])

Submission Info

Submission Time
Task 008 - AtCounter(★4)
User inaty
Language Python (3.8.2)
Score 4
Code Size 801 Byte
Status AC
Exec Time 426 ms
Memory 44576 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 4 / 4
Status
AC × 3
AC × 21
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 10_random_small_00.txt, 10_random_small_01.txt, 11_random_medium_00.txt, 11_random_medium_01.txt, 12_random_large_00.txt, 12_random_large_01.txt, 13_random_max_00.txt, 13_random_max_01.txt, 13_random_max_02.txt, 20_insert_small_00.txt, 20_insert_small_01.txt, 21_insert_medium_00.txt, 21_insert_medium_01.txt, 22_insert_large_00.txt, 22_insert_large_01.txt, 23_insert_max_00.txt, 23_insert_max_01.txt, 23_insert_max_02.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 17 ms 9076 KiB
00_sample_01.txt AC 26 ms 9072 KiB
00_sample_02.txt AC 24 ms 8968 KiB
10_random_small_00.txt AC 19 ms 8948 KiB
10_random_small_01.txt AC 22 ms 9160 KiB
11_random_medium_00.txt AC 40 ms 10184 KiB
11_random_medium_01.txt AC 74 ms 13460 KiB
12_random_large_00.txt AC 206 ms 26384 KiB
12_random_large_01.txt AC 274 ms 33036 KiB
13_random_max_00.txt AC 415 ms 44432 KiB
13_random_max_01.txt AC 396 ms 44132 KiB
13_random_max_02.txt AC 426 ms 44260 KiB
20_insert_small_00.txt AC 26 ms 9068 KiB
20_insert_small_01.txt AC 23 ms 9008 KiB
21_insert_medium_00.txt AC 133 ms 19196 KiB
21_insert_medium_01.txt AC 223 ms 26540 KiB
22_insert_large_00.txt AC 283 ms 32872 KiB
22_insert_large_01.txt AC 335 ms 38040 KiB
23_insert_max_00.txt AC 401 ms 44424 KiB
23_insert_max_01.txt AC 408 ms 44576 KiB
23_insert_max_02.txt AC 409 ms 44420 KiB