結果
問題 |
No.1111 コード進行
|
ユーザー |
|
提出日時 | 2020-08-02 03:51:33 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 378 ms / 2,000 ms |
コード長 | 861 bytes |
コンパイル時間 | 970 ms |
コンパイル使用メモリ | 93,584 KB |
実行使用メモリ | 364,012 KB |
最終ジャッジ日時 | 2024-07-16 04:02:22 |
合計ジャッジ時間 | 4,226 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 48 |
ソースコード
#include <iostream> #include <string> #include <algorithm> #include <vector> #include <iomanip> #include <cmath> #include <stdio.h> #include <queue> #include <deque> #include <cstdio> #include <set> #include <map> #include <bitset> #include <stack> #include <cctype> using namespace std; long long dp[330][330][630]; long long p[330], q[330], c[330]; int main() { int n, m, k; cin >> n >> m >> k; for (int i = 1; i <= m; i++) { cin >> p[i] >> q[i] >> c[i]; } for (int i = 1; i <= 300; i++) { dp[0][i][0] = 1; } for (int i = 1; i < n; i++) { for (int j = 1; j <= m; j++) { for (int l = 0; l <= k; l++) { dp[i][q[j]][l + c[j]] += dp[i - 1][p[j]][l]; dp[i][q[j]][l + c[j]] %= 1000000007; } } } long long ans = 0; for (int i = 0; i <= 300; i++) { ans += dp[n - 1][i][k]; ans %= 1000000007; } cout << ans << endl; return 0; }