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 |
|
|
| 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 |