Submission #28068822


Source Code Expand

#include <bits/stdc++.h>
#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define rep2(i,k,n) for (int i = (k); i < (n); ++i)
using namespace std;
using ll = long long;
using P = pair<int,int>;
// using P = pair<ll,ll>;

// const ll INF = (ll)1e18;
// const int INF = (int)1e9+7;
const ll MOD = 998244353;
template<typename T>
void chmin(T &a, T b) { a = min(a, b); }
template<typename T>
void chmax(T &a, T b) { a = max(a, b); }

void solve() {
    ll H, W, K;
    cin >> H >> W >> K;
    ll x1, y1, x2, y2;
    cin >> x1 >> y1 >> x2 >> y2;

    vector<vector<vector<ll>>> dp(K+1, vector<vector<ll>>(2, vector<ll>(2, 0)));
    dp[0][x1==x2][y1==y2] = 1;

    rep(i,K) {
        dp[i+1][0][0] = (W-1)*dp[i][0][1] + (H-1)*dp[i][1][0] + (H+W-4)*dp[i][0][0];
        dp[i+1][0][0] %= MOD;

        dp[i+1][0][1] = dp[i][0][0] + (H-2)*dp[i][0][1] + (H-1)*dp[i][1][1];
        dp[i+1][0][1] %= MOD;

        dp[i+1][1][0] = dp[i][0][0] + (W-2)*dp[i][1][0] + (W-1)*dp[i][1][1];
        dp[i+1][1][0] %= MOD;

        dp[i+1][1][1] = dp[i][0][1] + dp[i][1][0];
        dp[i+1][1][1] %= MOD;
    }

    cout << dp[K][1][1] << endl;
}

int main() {
    solve();
    return 0;
}

Submission Info

Submission Time
Task E - Rook Path
User goropikari
Language C++ (GCC 9.2.1)
Score 500
Code Size 1294 Byte
Status AC
Exec Time 196 ms
Memory 151624 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 26
Set Name Test Cases
Sample example_00.txt, example_01.txt, example_02.txt
All example_00.txt, example_01.txt, example_02.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt
Case Name Status Exec Time Memory
example_00.txt AC 10 ms 3528 KiB
example_01.txt AC 196 ms 151524 KiB
example_02.txt AC 2 ms 3476 KiB
test_00.txt AC 196 ms 151624 KiB
test_01.txt AC 192 ms 147072 KiB
test_02.txt AC 38 ms 22984 KiB
test_03.txt AC 58 ms 39108 KiB
test_04.txt AC 23 ms 14632 KiB
test_05.txt AC 158 ms 119560 KiB
test_06.txt AC 50 ms 30972 KiB
test_07.txt AC 66 ms 42384 KiB
test_08.txt AC 123 ms 89900 KiB
test_09.txt AC 120 ms 86444 KiB
test_10.txt AC 135 ms 99084 KiB
test_11.txt AC 98 ms 70240 KiB
test_12.txt AC 13 ms 7796 KiB
test_13.txt AC 78 ms 53768 KiB
test_14.txt AC 111 ms 78348 KiB
test_15.txt AC 95 ms 65144 KiB
test_16.txt AC 131 ms 95064 KiB
test_17.txt AC 115 ms 76932 KiB
test_18.txt AC 127 ms 93704 KiB
test_19.txt AC 152 ms 112724 KiB
test_20.txt AC 62 ms 41828 KiB
test_21.txt AC 159 ms 119000 KiB
test_22.txt AC 141 ms 102736 KiB