解题思路:
注意事项:
参考代码:
#include<iostream> using namespace std; int count = 0; void dfs(int i,int j,int m,int n,int a){ if(i+j==m){ count++; return; } for(int t=1;t<=2;t++){ if(t==1&&i<n)dfs(i+1,j,m,n,a+1); if(t==2&&j<m-n&&a)dfs(i,j+1,m,n,a-1); } }//i个1元j个2元总数m 有n个1元 ,a现在有多少钱 int main(){ int m,n,k; cin>>m>>n>>k; dfs(0,0,m,n,0); int p=1; int q=1; for(int i=1;i<=n;i++) p*=i; for(int i=1;i<=k;i++) p*=i; cout<<count*p*q; return 0; }
0.0分
0 人评分
【偶数求和】 (C语言代码)浏览:639 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:919 |
打印十字图 (C语言代码)浏览:2701 |
1128题解(返回值为数组的情况)浏览:450 |
出圈】指针malloc版浏览:355 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:342 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:662 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:539 |
拆分位数 (C语言代码)浏览:441 |
简单的a+b (C语言代码)浏览:645 |
花落 2019-03-20 22:08:31 |
哈哈暴力固然好,但是有技巧更好