結果
| 問題 | 
                            No.1241 Eternal Tours
                             | 
                    
| コンテスト | |
| ユーザー | 
                             hitonanode
                         | 
                    
| 提出日時 | 2020-08-25 22:33:35 | 
| 言語 | C++17  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 669 bytes | 
| コンパイル時間 | 1,038 ms | 
| コンパイル使用メモリ | 79,536 KB | 
| 最終ジャッジ日時 | 2025-01-13 14:50:39 | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 TLE * 1 | 
| other | AC * 14 TLE * 26 | 
ソースコード
#include <iostream>
#include <vector>
using namespace std;
// Naive DP (TLE)
// Complexity: O(HWT), H = (2^^X) - 1, W = (2^^Y) - 1
int main()
{
    int X, Y;
    long long T;
    int a, b, c, d;
    cin >> X >> Y >> T >> a >> b >> c >> d;
    vector dp((1 << X) + 1, vector<long long>((1 << Y) + 1));
    dp[a][b] = 1;
    while (T--)
    {
        vector nxt = dp;
        for (int i = 1; i < 1 << X; i++)
        {
            for (int j = 1; j < 1 << Y; j++)
            {
                nxt[i][j] = (dp[i][j] + dp[i + 1][j] + dp[i - 1][j] + dp[i][j + 1] + dp[i][j - 1]) % 998244353;
            }
        }
        dp = nxt;
    }
    cout << dp[c][d] << '\n';
}
            
            
            
        
            
hitonanode