2 条题解
-
1
递归一下就可以了,炒鸡简单
但我的代码一般别人看不懂#include<bits/stdc++.h> using namespace std; int n,m,sum; void dfs(const int t,const int s,const int jsq) { if(jsq==m-1) { ++sum; return; } if(jsq==m-2) for(int i=t;i<=s/2;++i) dfs(i,s-i,jsq+1); else for(int i=t;i<=s;++i) dfs(i,s-i,jsq+1); } int main() { cin>>n>>m; dfs(1,n,0); cout<<sum; return 0; }
-
0
#include<bits/stdc++.h> long long n,m,f[305][10]; using namespace std; int hf(int x,int y){ if(y>x)return 0; if(x==y)return 1; if(y==1)return 1; return hf(x-1,y-1)+hf(x-y,y); } int main(){ cin>>n>>m; f[1][1]=1; f[0][1]=1; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(j>i)f[i][j]=0; else if(i==j)f[i][j]=1; else if(j==1)f[i][j]=1; else f[i][j]=f[i-1][j-1]+f[i-j][j]; } } cout<<f[n][m]; return 0; }
- 1
信息
- ID
- 567
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 45
- 已通过
- 23
- 上传者