| 记录编号 | 605649 | 评测结果 | AAAAAAAAAA | 
    
        | 题目名称 | 2938.[HAOI 2018]苹果树 | 最终得分 | 100 | 
    
        | 用户昵称 |  郑霁桓 | 是否通过 | 通过 | 
    
        | 代码语言 | C++ | 运行时间 | 0.720 s | 
    
        | 提交时间 | 2025-09-05 20:44:12 | 内存使用 | 10.21 MiB | 
    
    
    
    		显示代码纯文本
		
		#include<bits/stdc++.h>
using namespace std;
long long n,p,c[2005][2005],f[2005],as;
int main(){
    freopen("2018tree.in","r",stdin);
    freopen("2018tree.out","w",stdout);
    cin>>n>>p,c[0][0]=1;
    for(int i=1;i<=n;i++){
        c[i][0]=1;
        for(int j=1;j<=i;j++) c[i][j]=c[i-1][j]+c[i-1][j-1],c[i][j]%=p;
    }
    f[1]=f[0]=1;
    for(int i=2;i<=n;i++) f[i]=f[i-1]*i%p;
    for(int i=2;i<=n;i++) for(int sz=1;sz<=n-i+1;sz++) as+=sz*(n-sz)%p*i%p*(i-1)%p*c[n-i][sz-1]%p*f[sz]%p*f[n-sz-1]%p,as%=p;
    cout<<as;
    return 0;
}