Submission #43963106
Source Code Expand
// LUOGU_RID: 117476819
#include<cstdio>
#include<cstring>
using namespace std;
#define add(a,b) (a+=b)>=mod&&(a-=mod)
#define Ls(i,l,r) for(int i=l;i<r;++i)
#define Rs(i,l,r) for(int i=l;i>r;--i)
#define Le(i,l,r) for(int i=l;i<=r;++i)
#define Re(i,l,r) for(int i=l;i>=r;--i)
#define L(i,l) for(int i=0;i<l;++i)
#define E(i,l) for(int i=1;i<=l;++i)
#define W(t) while(t--)
typedef long long ll;
const int mod=998244353,N=110,M=2<<9;
int n,d,f[N][N][M],fac[N];
int main(){
#ifndef ONLINE_JUDGE
freopen("1.in","r",stdin);
// freopen("1.out","w",stdout);
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
#endif
// Insert Code Here
scanf("%d%d",&n,&d);
--d;
fac[0]=1;
E(i, n)fac[i]=fac[i-1]*1ll*i%mod;
f[0][0][0]=1;
E(i, n)
L(j, i)
L(S, (1<<(d*2+1))){
if(!f[i-1][j][S])continue;
int T=S>>1;
add(f[i][j][T], f[i-1][j][S]);
Le(k, 0, 2*d)
if(!(T>>k&1)&&i+k-d>=1&&i+k-d<=n)add(f[i][j+1][T|(1<<k)],f[i-1][j][S]);
}
int ans=0;
Le(i, 0, n)
L(S, (1<<(d*2+1))){
ll t=(i&1)?(mod-f[n][i][S]):f[n][i][S];
add(ans,t*fac[n-i]%mod);
}
printf("%d\n",ans);
return 0;
}
Submission Info
Submission Time
2023-07-26 12:01:53+0900
Task
G - Ban Permutation
User
WUSICHENG
Language
C++ (GCC 9.2.1)
Score
575
Code Size
1331 Byte
Status
AC
Exec Time
87 ms
Memory
22272 KiB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:25:10: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
25 | scanf("%d%d",&n,&d);
| ~~~~~^~~~~~~~~~~~~~
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
575 / 575
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
Case Name
Status
Exec Time
Memory
example_00.txt
AC
5 ms
1644 KiB
example_01.txt
AC
1 ms
1692 KiB
example_02.txt
AC
84 ms
21396 KiB
test_00.txt
AC
1 ms
1624 KiB
test_01.txt
AC
12 ms
9412 KiB
test_02.txt
AC
9 ms
2792 KiB
test_03.txt
AC
18 ms
13008 KiB
test_04.txt
AC
17 ms
10448 KiB
test_05.txt
AC
10 ms
5740 KiB
test_06.txt
AC
5 ms
3708 KiB
test_07.txt
AC
2 ms
2084 KiB
test_08.txt
AC
13 ms
8932 KiB
test_09.txt
AC
2 ms
1780 KiB
test_10.txt
AC
3 ms
3852 KiB
test_11.txt
AC
2 ms
1648 KiB
test_12.txt
AC
1 ms
1688 KiB
test_13.txt
AC
1 ms
1632 KiB
test_14.txt
AC
1 ms
1672 KiB
test_15.txt
AC
1 ms
1616 KiB
test_16.txt
AC
1 ms
1684 KiB
test_17.txt
AC
87 ms
22196 KiB
test_18.txt
AC
87 ms
21804 KiB
test_19.txt
AC
81 ms
21012 KiB
test_20.txt
AC
24 ms
22272 KiB