結果

問題 No.1111 コード進行
ユーザー onsen_manjuuu
提出日時 2020-07-12 03:38:55
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 926 bytes
コンパイル時間 1,984 ms
コンパイル使用メモリ 178,324 KB
実行使用メモリ 218,240 KB
最終ジャッジ日時 2024-10-13 19:48:10
合計ジャッジ時間 4,623 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 32 WA * 16
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>

using namespace std;
using ll = long long;
const ll mod = 1e9 + 7;

int main()
{
    int n, m, k; cin >> n >> m >> k;
    vector<vector<pair<int,int>>> a(300);
    for(int i = 0; i < m; i++) {
        int p, q, c; cin >> p >> q >> c; p--, q--;
        a[p].push_back({q, c});
    }

    vector<vector<vector<ll>>> dp(n, vector<vector<ll>>(300, vector<ll>(k + 1)));
    for(int i = 0; i < n; i++)dp[0][i][0] = 1;

    for(int i = 0; i < n - 1; i++) {
        for(int j = 0; j < 300; j++) {

            for(auto p : a[j]) {
                for(int t = 0; t <= k; t++) {
                    if(p.second + t > k)break;
                    dp[i + 1][p.first][t + p.second] += dp[i][j][t];
                    dp[i + 1][p.first][t + p.second] %= mod;
                }
            }


        }
    }
    ll sum = 0;
    for(int i = 0; i < 300; i++)sum += dp[n - 1][i][k];
    cout << sum % mod << endl;

}
0