Submission #66209111
Source Code Expand
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<(n);i++) #include"atcoder/all" using namespace atcoder; typedef modint998244353 mi; using namespace std; #define all(a) a.begin(),a.end() #define compress(a) sort(all(a));a.erase(unique(all(a)),a.end()) typedef long long ll; typedef pair<ll,ll> P; constexpr ll mod=998244353; constexpr ll inf=3e18; modint dp[102][102][102][102]; int main(){ ll n,K,p; cin>>n>>K>>p; modint::set_mod(p); dp[0][0][0][0]=1; for(int i=0;i<n-1;i++){ for(int j=0;j<=i;j++){ for(int k=0;k<=i;k++){ for(int l=0;l<=i;l++){ dp[i+1][0][0][l+1]+=dp[i][j][k][l]; dp[i+1][j+1][0][l+1]-=dp[i][j][k][l]; dp[i+1][0][k+1][l+1]-=dp[i][j][k][l]; dp[i+1][j+1][k+1][l+1]+=2*dp[i][j][k][l]; dp[i+1][j+1][i+2][l+1]-=dp[i][j][k][l]; dp[i+1][i+2][k+1][l+1]-=dp[i][j][k][l]; dp[i+1][i+2][i+2][l+1]+=dp[i][j][k][l]; dp[i+1][j+1][0][l]+=dp[i][j][k][l]; dp[i+1][j+1][k+1][l]-=dp[i][j][k][l]; dp[i+1][i+2][0][l]-=dp[i][j][k][l]; dp[i+1][i+2][k+1][l]+=dp[i][j][k][l]; dp[i+1][0][k+1][l]+=dp[i][j][k][l]; dp[i+1][0][i+2][l]-=dp[i][j][k][l]; dp[i+1][j+1][k+1][l]-=dp[i][j][k][l]; dp[i+1][j+1][i+2][l]+=dp[i][j][k][l]; } } } for(int j=0;j<=i;j++){ for(int k=0;k<=i+1;k++){ for(int l=0;l<=i+1;l++){ dp[i+1][j+1][k][l]+=dp[i+1][j][k][l]; } } } for(int j=0;j<=i+1;j++){ for(int k=0;k<=i;k++){ for(int l=0;l<=i+1;l++){ dp[i+1][j][k+1][l]+=dp[i+1][j][k][l]; } } } } modint ans=0; rep(j,n){ rep(k,n){ ans+=dp[n-1][j][k][K]; } } cout<<ans.val()<<endl; }
Submission Info
Submission Time | |
---|---|
Task | G - Similar Permutation |
User | Rho17 |
Language | C++ 20 (gcc 12.2) |
Score | 600 |
Code Size | 1678 Byte |
Status | AC |
Exec Time | 588 ms |
Memory | 426532 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_01.txt, 00_sample_02.txt |
All | 00_sample_01.txt, 00_sample_02.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01.txt | AC | 169 ms | 426388 KiB |
00_sample_02.txt | AC | 196 ms | 426528 KiB |
01_test_01.txt | AC | 171 ms | 426396 KiB |
01_test_02.txt | AC | 169 ms | 426304 KiB |
01_test_03.txt | AC | 588 ms | 426384 KiB |
01_test_04.txt | AC | 587 ms | 426340 KiB |
01_test_05.txt | AC | 586 ms | 426396 KiB |
01_test_06.txt | AC | 177 ms | 426464 KiB |
01_test_07.txt | AC | 170 ms | 426388 KiB |
01_test_08.txt | AC | 221 ms | 426396 KiB |
01_test_09.txt | AC | 333 ms | 426416 KiB |
01_test_10.txt | AC | 453 ms | 426396 KiB |
01_test_11.txt | AC | 448 ms | 426348 KiB |
01_test_12.txt | AC | 554 ms | 426300 KiB |
01_test_13.txt | AC | 525 ms | 426400 KiB |
01_test_14.txt | AC | 460 ms | 426532 KiB |
01_test_15.txt | AC | 524 ms | 426392 KiB |
01_test_16.txt | AC | 504 ms | 426336 KiB |
01_test_17.txt | AC | 532 ms | 426344 KiB |
01_test_18.txt | AC | 476 ms | 426380 KiB |