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
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
AC × 3
AC × 24
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