Submission #48990002
Source Code Expand
// LUOGU_RID: 141766431
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll mod = 998244353, N = 1e7 + 5;
int n, m, k, x, y, xx, yy;
ll ans;
ll f[2][2][N];
ll inv(ll x) {
return x == 1 ? 1 : (mod - mod / x) * inv(mod % x) % mod;
}
int main() {
scanf("%d%d%d", &n, &m, &k);
scanf("%d%d%d%d", &x, &y, &xx, &yy);
f[0][0][0] = 1;
for (int i = 1; i <= k; i++) {
f[0][0][i] = (f[0][1][i - 1] + f[1][0][i - 1]) % mod;
f[0][1][i] = ((m - 1) * f[0][0][i - 1] % mod + (m - 2) * f[0][1][i - 1] % mod + f[1][1][i - 1]) % mod;
f[1][0][i] = ((n - 1) * f[0][0][i - 1] % mod + (n - 2) * f[1][0][i - 1] % mod + f[1][1][i - 1]) % mod;
f[1][1][i] = ((n - 1) * f[0][1][i - 1] % mod + (m - 1) * f[1][0][i - 1] % mod + (n + m - 4) * f[1][1][i - 1] % mod) % mod;
}
if (x == xx && y == yy) ans = f[0][0][k];
else if (x == xx && y != yy) ans = f[0][1][k] * inv(m - 1) % mod;
else if (x != xx && y == yy) ans = f[1][0][k] * inv(n - 1) % mod;
else ans = f[1][1][k] * inv((n - 1) * (m - 1) % mod) % mod;
printf("%lld\n", ans);
return 0;
}
Submission Info
| Submission Time |
|
| Task |
E - Rook Path |
| User |
could_eve |
| Language |
C++ 17 (gcc 12.2) |
| Score |
0 |
| Code Size |
1080 Byte |
| Status |
WA |
| Exec Time |
23 ms |
| Memory |
35008 KiB |
Compile Error
Main.cpp: In function ‘int main()’:
Main.cpp:13:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
13 | scanf("%d%d%d", &n, &m, &k);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~
Main.cpp:14:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
14 | scanf("%d%d%d%d", &x, &y, &xx, &yy);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
0 / 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 |
1 ms |
3756 KiB |
| example_01.txt |
AC |
23 ms |
34860 KiB |
| example_02.txt |
AC |
1 ms |
3696 KiB |
| test_00.txt |
WA |
23 ms |
35008 KiB |
| test_01.txt |
AC |
22 ms |
34024 KiB |
| test_02.txt |
AC |
4 ms |
7832 KiB |
| test_03.txt |
WA |
6 ms |
11200 KiB |
| test_04.txt |
WA |
3 ms |
6132 KiB |
| test_05.txt |
WA |
18 ms |
28204 KiB |
| test_06.txt |
WA |
5 ms |
9688 KiB |
| test_07.txt |
WA |
7 ms |
12116 KiB |
| test_08.txt |
AC |
14 ms |
22052 KiB |
| test_09.txt |
AC |
13 ms |
21236 KiB |
| test_10.txt |
AC |
15 ms |
23948 KiB |
| test_11.txt |
AC |
11 ms |
17836 KiB |
| test_12.txt |
AC |
2 ms |
4652 KiB |
| test_13.txt |
AC |
8 ms |
14408 KiB |
| test_14.txt |
AC |
12 ms |
19748 KiB |
| test_15.txt |
AC |
10 ms |
16816 KiB |
| test_16.txt |
AC |
14 ms |
22960 KiB |
| test_17.txt |
AC |
12 ms |
19312 KiB |
| test_18.txt |
AC |
14 ms |
22744 KiB |
| test_19.txt |
AC |
17 ms |
26904 KiB |
| test_20.txt |
AC |
7 ms |
11844 KiB |
| test_21.txt |
AC |
17 ms |
28152 KiB |
| test_22.txt |
AC |
16 ms |
24640 KiB |