QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#710343 | #9561. 树数叔术 | ANIG | 0 | 14ms | 4052kb | C++14 | 1000b | 2024-11-04 19:30:36 | 2024-11-04 19:30:42 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=155;
int n,m,mods,jc[N],C[N][N],f[N][N],dp[N],g[N][N],res;
signed main(){
cin>>n>>m>>mods;
if(m>n){
cout<<"0";
return 0;
}
jc[0]=1;
for(int i=1;i<=n;i++)jc[i]=jc[i-1]*i%mods;
for(int i=0;i<=n;i++)C[i][0]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
C[i][j]=(C[i-1][j]+C[i-1][j-1])%mods;
}
}
f[0][0]=1;
for(int i=1;i<=m-2;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=j;k++){
f[i][j]+=f[i-1][j-k]*C[j][k]%mods;
}
f[i][j]%=mods;
}
}
dp[1]=1;
for(int i=2;i<=n;i++){
for(int j=1;j<i;j++){
dp[i]+=dp[i-j]*C[i-1][j-1]%mods;
}
dp[i]%=mods;
}
g[0][0]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=j;k++){
g[i][j]+=g[i-1][j-k]*C[j][k]%mods*k%mods;
}
g[i][j]%=mods;
}
}
for(int i=2;i<=n;i++){
if(m-1+i-n<0)continue;
res+=f[m-1+i-n][i-2]%mods*g[i][n]%mods*jc[n-i]%mods;
}
cout<<res;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 5
Accepted
time: 1ms
memory: 3632kb
input:
1 1 624295285
output:
0
result:
ok single line: '0'
Test #2:
score: 5
Accepted
time: 0ms
memory: 3688kb
input:
4 684813415 564954712
output:
0
result:
ok single line: '0'
Test #3:
score: 0
Wrong Answer
time: 0ms
memory: 3640kb
input:
4 2 844826878
output:
0
result:
wrong answer 1st lines differ - expected: '24', found: '0'
Subtask #2:
score: 0
Wrong Answer
Test #6:
score: 0
Wrong Answer
time: 0ms
memory: 3692kb
input:
6 4 956647977
output:
33120
result:
wrong answer 1st lines differ - expected: '238320', found: '33120'
Subtask #3:
score: 0
Wrong Answer
Test #11:
score: 0
Wrong Answer
time: 1ms
memory: 3752kb
input:
48 26 424594716
output:
4933188624
result:
wrong answer 1st lines differ - expected: '362283012', found: '4933188624'
Subtask #4:
score: 0
Wrong Answer
Test #16:
score: 50
Accepted
time: 0ms
memory: 3632kb
input:
150 526250070 197316869
output:
0
result:
ok single line: '0'
Test #17:
score: 0
Wrong Answer
time: 14ms
memory: 4052kb
input:
149 116 671784452
output:
38048766508
result:
wrong answer 1st lines differ - expected: '18945228', found: '38048766508'