結果
| 問題 |
No.1111 コード進行
|
| コンテスト | |
| ユーザー |
Nachia
|
| 提出日時 | 2020-10-24 19:04:04 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 294 ms / 2,000 ms |
| コード長 | 727 bytes |
| コンパイル時間 | 1,395 ms |
| コンパイル使用メモリ | 168,292 KB |
| 実行使用メモリ | 215,296 KB |
| 最終ジャッジ日時 | 2024-07-21 15:28:20 |
| 合計ジャッジ時間 | 4,481 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 48 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
using LL = long long;
using ULL = unsigned long long;
#define rep(i,n) for(int i=0; i<(n); i++)
const ULL MOD = 1000000007;
int N, M, K;
ULL dp[300][300][301] = {};
ULL Ch[300][3];
int main() {
cin >> N >> M >> K;
rep(i, M) {
rep(j, 3) cin >> Ch[i][j];
Ch[i][0]--; Ch[i][1]--;
}
rep(i, 300) dp[0][i][0] = 1;
rep(n, N - 1) rep(k, K + 1) {
rep(m, M) {
if (Ch[m][2] > k) continue;
dp[n + 1][Ch[m][1]][k] += dp[n][Ch[m][0]][k - Ch[m][2]];
}
rep(s, 300) dp[n + 1][s][k] %= MOD;
}
ULL ans = 0;
rep(i, 300) ans += dp[N - 1][i][K];
ans %= MOD;
cout << ans << endl;
return 0;
}
Nachia