結果

問題 No.1111 コード進行
ユーザー tcltktcltk
提出日時 2021-01-17 15:16:55
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,316 bytes
コンパイル時間 385 ms
コンパイル使用メモリ 82,460 KB
実行使用メモリ 357,100 KB
最終ジャッジ日時 2024-05-07 04:25:46
合計ジャッジ時間 13,350 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 167 ms
96,280 KB
testcase_01 AC 163 ms
89,404 KB
testcase_02 AC 149 ms
89,176 KB
testcase_03 AC 151 ms
88,848 KB
testcase_04 AC 149 ms
88,696 KB
testcase_05 AC 167 ms
91,180 KB
testcase_06 AC 267 ms
95,148 KB
testcase_07 AC 434 ms
107,132 KB
testcase_08 AC 472 ms
100,880 KB
testcase_09 AC 199 ms
91,888 KB
testcase_10 AC 494 ms
113,724 KB
testcase_11 AC 325 ms
98,092 KB
testcase_12 AC 296 ms
94,908 KB
testcase_13 AC 233 ms
93,928 KB
testcase_14 AC 461 ms
100,912 KB
testcase_15 AC 454 ms
110,708 KB
testcase_16 AC 327 ms
96,724 KB
testcase_17 AC 400 ms
110,948 KB
testcase_18 AC 319 ms
100,740 KB
testcase_19 AC 161 ms
90,452 KB
testcase_20 AC 188 ms
91,596 KB
testcase_21 AC 377 ms
108,080 KB
testcase_22 AC 424 ms
112,440 KB
testcase_23 AC 337 ms
99,828 KB
testcase_24 AC 266 ms
96,712 KB
testcase_25 AC 795 ms
114,496 KB
testcase_26 AC 337 ms
92,868 KB
testcase_27 AC 172 ms
89,848 KB
testcase_28 TLE -
testcase_29 -- -
testcase_30 -- -
testcase_31 -- -
testcase_32 -- -
testcase_33 -- -
testcase_34 -- -
testcase_35 -- -
testcase_36 -- -
testcase_37 -- -
testcase_38 -- -
testcase_39 -- -
testcase_40 -- -
testcase_41 -- -
testcase_42 -- -
testcase_43 -- -
testcase_44 -- -
testcase_45 -- -
testcase_46 -- -
testcase_47 -- -
testcase_48 -- -
testcase_49 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

#region Header
#!/usr/bin/env python3
# from typing import *

import sys
import io
import math
import collections
import decimal
import itertools
from queue import PriorityQueue
import bisect
import heapq

def input():
    return sys.stdin.readline()[:-1]

sys.setrecursionlimit(1000000)
#endregion

# _INPUT = """4 6 2
# 1 2 0
# 1 3 0
# 2 1 1
# 3 1 0
# 2 3 0
# 3 2 2
# """
# sys.stdin = io.StringIO(_INPUT)

MOD = 1000000007

import gc

def main():
    N, M, K = map(int, input().split())
    P = [None for _ in range(M)]
    Q = [None for _ in range(M)]
    C = [None for _ in range(M)]
    for i in range(M):
        P[i], Q[i], C[i] = map(int, input().split())
        P[i] -= 1
        Q[i] -= 1

    Kmax = max(C) * N
    dp = [[0 for _ in range(Kmax+1)] for _ in range(300)]
    for j in range(300):
        dp[j][0] = 1

    for i in range(N-1):
        dp1 = [[0 for _ in range(Kmax+1)] for _ in range(300)]
        for m in range(M):
            for k in range(Kmax+1):
                if k + C[m] <= Kmax:
                    dp1[Q[m]][k+C[m]] = (dp1[Q[m]][k+C[m]] + dp[P[m]][k]) % MOD
        dp = dp1
        gc.collect()

    n = 0
    for j in range(300):
        n += dp[j][K]
    print(n % MOD)

if __name__ == '__main__':
    main()
0