Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
115599 | 陈家宝 | [AHOI2012]树屋阶梯 | C++ | 通过 | 100 | 97 MS | 5424 KB | 467 | 2023-12-12 13:41:02 |
#include<bits/stdc++.h> using namespace std; int dp[505][2005],maxl=0; void add(int a[],int b[]){ for(int i=0;i<=maxl;i++){ a[i]+=b[i]; a[i+1]+=a[i]/10; a[i]%=10; if(i==maxl&&a[i+1]!=0) maxl++; } } int main(){ int n; cin>>n; dp[1][0]=1; for(int i=2;i<=n+1;i++){ for(int j=1;j<=i;j++) add(dp[j],dp[j-1]); } int len=2000; while(dp[n][len]==0&&len>=1) len--; for(int i=len;i>=0;i--) cout<<dp[n][i]; return 0; }