結果

問題 No.2430 Damage Zone
ユーザー 憩いの場
提出日時 2023-09-01 16:00:30
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 18 ms / 2,000 ms
コード長 1,113 bytes
コンパイル時間 3,673 ms
コンパイル使用メモリ 139,352 KB
実行使用メモリ 11,904 KB
最終ジャッジ日時 2025-01-03 06:38:05
合計ジャッジ時間 5,199 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include<iostream>
#include<vector>
#include<atcoder/all>
using namespace std;
int main( void )
{
int H, W, K;
cin >> H >> W >> K;
string S[H];
for( int i = 0; i < H; i++ )
{
cin >> S[i];
}
vector<vector<vector<atcoder::modint998244353>>> dp( H + 2, vector<vector<atcoder::modint998244353>>( W + 2, vector<atcoder::modint998244353>( K,
        0 ) ) );
dp[1][1][0] = 1;
for( int i = 1; i <= H; i++ )
{
for( int j = 1; j <= W; j++ )
{
if( S[i - 1][j - 1] == '#' ) continue;
for( int k = 0; k < K; k++ )
{
if( S[i - 1][j - 1] == '.' )
{
dp[i][j][k] += dp[i - 1][j][k] + dp[i][j - 1][k];
}
else if( S[i - 1][j - 1] == 'o' && k != 0 )
{
dp[i][j][k] += dp[i - 1][j][k - 1] + dp[i][j - 1][k - 1];
}
}
}
}
atcoder::modint998244353 ans = 0;
for( int k = 0; k < K; k++ )
{
ans += dp[H][W][k];
}
cout << ans.val() << endl;
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0