結果

問題 No.1111 コード進行
ユーザー misora192
提出日時 2020-07-11 08:13:54
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,041 bytes
コンパイル時間 1,630 ms
コンパイル使用メモリ 171,724 KB
実行使用メモリ 112,640 KB
最終ジャッジ日時 2024-10-12 12:50:40
合計ジャッジ時間 12,274 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 2
other AC * 1 WA * 28 TLE * 1 OLE * 1 -- * 17
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define rep(i,n) for(int i=(0);i<(n);i++)

using namespace std;

typedef long long ll;
typedef pair<ll, ll> pll;

template<class T> bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T> bool chmin(T &a, const T &b) { if (a>b) { a=b; return 1; } return 0; }

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);

	ll n, m, k;
	cin >> n >> m >> k;

	vector<pll> g[301];
	rep(i, m){
		ll p, q, c;
		cin >> p >> q >> c;

		g[p].push_back({q, c});	
	}

	ll dp[n][313][k];
	rep(i, n) rep(j, 313) rep(l, k) dp[i][j][l] = 0;

	ll MOD = 1e9+7;
	rep(i, 301) dp[0][i][0] = 1;
	rep(i, n-1){
		rep(j, 301){
			rep(l, k+1){
				for(pll x : g[j]){
					
					ll q = x.first, c = x.second;
					if(l+c <= k) {
						cout << i << "," << j << "," << l << endl;
						dp[i+1][q][l+c] += dp[i][j][l];
						dp[i+1][q][l+c] %= MOD;
					}
				}
			}
		}
	}

	ll ans = 0;
	rep(j, 301){
		// cout << j << "," << dp[n-1][j][k] << endl;
		ans += dp[n-1][j][k];
		ans %= MOD;
	}

	cout << ans << endl;
}	
0