結果

問題 No.314 ケンケンパ
ユーザー TsubasaTsubasa
提出日時 2018-02-02 20:21:13
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
TLE  
実行時間 -
コード長 783 bytes
コンパイル時間 150 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 225,592 KB
最終ジャッジ日時 2024-06-10 01:03:42
合計ジャッジ時間 4,661 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 TLE -
testcase_01 -- -
testcase_02 -- -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

dp = []

KEN = 0
PA = 1

def kenpa(ken_pa, remain, ken_seq):
  global dp

  if remain == 0:
    return 1

  if dp[ken_pa][remain][ken_seq] != -1:
    return dp[ken_pa][remain][ken_seq]

  if ken_seq == 2:
    dp[ken_pa][remain][ken_seq] = kenpa(PA, remain-1, 0)
  elif ken_pa == PA:
    dp[ken_pa][remain][ken_seq] = kenpa(KEN, remain-1, ken_seq+1)
  else:
    dp[ken_pa][remain][ken_seq] = kenpa(KEN, remain-1, ken_seq+1) + kenpa(PA, remain-1, 0)

  return dp[ken_pa][remain][ken_seq]



def main():
  global dp

  N = int(input())

  for ken_pa in range(2):
    dp.append([])
    for remain_cell in range(N):
      dp[ken_pa].append([])
      for ken_seq in range(3):
        dp[ken_pa][remain_cell].append(-1)

  answer = kenpa(KEN, N-1, 1)

  print(answer % (10**9 + 7))

main()
0