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
AC × 3
AC × 20
WA × 6
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