Submission #35717030
Source Code Expand
#include<bits/stdc++.h>
#define LL long long
#define MOD 998244353
using namespace std;
int inc(const int &a, const int &b)
{
return a + b >= MOD ? a + b - MOD : a + b;
}
int mul(const int &a, const int &b)
{
return 1LL * a * b % MOD;
}
void Mul(int &a, const int &b)
{
a = 1LL * a * b % MOD;
}
void Sqr(int &a)
{
a = 1LL * a * a % MOD;
}
int qwqmi(int x, int k = MOD - 2)
{
int res = 1;
while(k)
{
if(k & 1) Mul(res, x);
Sqr(x), k >>= 1;
}
return res;
}
const int inv2 = qwqmi(2);
int binom2(int x)
{
return mul(mul(x, x - 1), inv2);
}
const int N = 5e3 + 5;
int n, r[N], c[N], sum, _sum, x0;
int f[N][N];
int main()
{
scanf("%d", &n);
for(int i = 1; i <= n; ++i)
scanf("%d", &r[i]), _sum += r[i];
for(int i = 1; i <= n; ++i)
{
scanf("%d", &c[i]);
sum += c[i];
if(c[i] == 2) ++x0;
}
if(sum != _sum)
{
puts("0");
return 0;
}
f[0][x0] = 1;
for(int i = 1; i <= n; ++i)
{
sum -= r[i];
for(int x = 0; x <= n; ++x)
{
int y = sum - 2 * x;
if(r[i] == 0) f[i][x] = f[i - 1][x];
if(r[i] == 1) f[i][x] = inc(mul(f[i - 1][x], y + 1), mul(f[i - 1][x + 1], x + 1));
if(r[i] == 2) f[i][x] = inc(inc(mul(f[i - 1][x + 1], x + 1), mul(f[i - 1][x + 1], mul(x + 1, y))),
inc(mul(f[i - 1][x + 2], binom2(x + 2)), mul(f[i - 1][x], binom2(y + 2))));
}
}
printf("%d\n", f[n][0]);
return 0;
}
Submission Info
| Submission Time |
|
| Task |
G - Row Column Sums 2 |
| User |
Schucking_Sattin |
| Language |
C++ (GCC 9.2.1) |
| Score |
600 |
| Code Size |
1410 Byte |
| Status |
AC |
| Exec Time |
320 ms |
| Memory |
101584 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:41:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
41 | scanf("%d", &n);
| ~~~~~^~~~~~~~~~
./Main.cpp:43:8: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
43 | scanf("%d", &r[i]), _sum += r[i];
| ~~~~~^~~~~~~~~~~~~
./Main.cpp:46:8: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
46 | scanf("%d", &c[i]);
| ~~~~~^~~~~~~~~~~~~
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
600 / 600 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
example0.txt, example1.txt, example2.txt |
| All |
000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, example0.txt, example1.txt, example2.txt |
| Case Name |
Status |
Exec Time |
Memory |
| 000.txt |
AC |
3 ms |
3616 KiB |
| 001.txt |
AC |
6 ms |
3640 KiB |
| 002.txt |
AC |
2 ms |
3700 KiB |
| 003.txt |
AC |
2 ms |
3624 KiB |
| 004.txt |
AC |
1 ms |
3636 KiB |
| 005.txt |
AC |
79 ms |
101352 KiB |
| 006.txt |
AC |
135 ms |
101420 KiB |
| 007.txt |
AC |
320 ms |
101356 KiB |
| 008.txt |
AC |
4 ms |
3668 KiB |
| 009.txt |
AC |
3 ms |
3648 KiB |
| 010.txt |
AC |
2 ms |
3632 KiB |
| 011.txt |
AC |
4 ms |
3600 KiB |
| 012.txt |
AC |
3 ms |
3540 KiB |
| 013.txt |
AC |
3 ms |
3628 KiB |
| 014.txt |
AC |
209 ms |
101484 KiB |
| 015.txt |
AC |
250 ms |
101400 KiB |
| 016.txt |
AC |
173 ms |
101520 KiB |
| 017.txt |
AC |
173 ms |
101400 KiB |
| 018.txt |
AC |
102 ms |
101512 KiB |
| 019.txt |
AC |
272 ms |
101432 KiB |
| 020.txt |
AC |
190 ms |
101476 KiB |
| 021.txt |
AC |
192 ms |
101364 KiB |
| 022.txt |
AC |
179 ms |
101492 KiB |
| 023.txt |
AC |
315 ms |
101400 KiB |
| 024.txt |
AC |
105 ms |
101476 KiB |
| 025.txt |
AC |
156 ms |
101580 KiB |
| 026.txt |
AC |
118 ms |
101404 KiB |
| 027.txt |
AC |
99 ms |
101584 KiB |
| 028.txt |
AC |
217 ms |
101524 KiB |
| 029.txt |
AC |
251 ms |
101408 KiB |
| 030.txt |
AC |
223 ms |
101520 KiB |
| 031.txt |
AC |
127 ms |
101472 KiB |
| 032.txt |
AC |
153 ms |
101528 KiB |
| 033.txt |
AC |
287 ms |
101584 KiB |
| example0.txt |
AC |
2 ms |
3708 KiB |
| example1.txt |
AC |
2 ms |
3616 KiB |
| example2.txt |
AC |
2 ms |
3644 KiB |