#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define vi vector<long long>
#define all(x) x.begin(), x.end()
#define endl "\n"
#define pr pair<int, int>
#define ff first
#define ss second
void solution();
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
solution();
return 0;
}
const int N = 1e4+10;
const ll mx = 5e8;
vector<pr> nxt[N];
ll dp[N][410];
void solution() {
ll n, m, h;
cin >> n >> m >> h;
for (int i = 0; i < n; i++) {
for (int j = 0; j < h; j++) {
int a, w; cin >> a >> w;
nxt[i].push_back({a, w});
}
}
dp[0][0] = 1;
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < m; j++) {
for (auto [b, w] : nxt[i]) {
for (int k = 0; k < m; k++) {
if (j + w + k > m-1) break;
dp[b][j+w+k] += dp[i][j];
if (dp[b][j+w+k] > mx) dp[b][j+w+k] = mx+1;
}
}
}
}
for (int i = 0; i < m; i++) {
cout << dp[n-1][i] << " ";
}
cout << endl;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |