結果
問題 |
No.1967 Sugoroku Optimization
|
ユーザー |
![]() |
提出日時 | 2023-03-07 12:57:24 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 604 ms / 2,000 ms |
コード長 | 601 bytes |
コンパイル時間 | 3,717 ms |
コンパイル使用メモリ | 251,940 KB |
最終ジャッジ日時 | 2025-02-11 06:10:47 |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
#include <bits/stdc++.h> #include <atcoder/all> using namespace std; using namespace atcoder; using ll=long long; using ld=long double; ld pie=3.14159265359; ll inf=1001; ll mod=998244353; int main(){ ll n,k; cin >> n >> k; vector<vector<ll>>dp(n+1,vector<ll>(k+1,0)); vector<ll>memo(k+1,0); memo[0]=1; dp[n][0]=1; for (ll i = n-1; i >=0; i--) { for (ll j = 1; j <=k; j++) { dp[i][j]+=(memo[j-1]*inv_mod(n-i,mod))%mod; dp[i][j]%=mod; memo[j-1]+=dp[i][j-1]; memo[j-1]%=mod; } } ll ans=0; for (ll i = 0; i <=k; i++) { ans+=dp[0][i]; ans%=mod; } cout << ans << endl; }