解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题6.9 (C++代码)论pow函数的应用浏览:1026 |
C语言训练-字符串正反连接 (C语言代码)浏览:692 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:801 |
简单的a+b (C语言代码)浏览:717 |
C语言程序设计教程(第三版)课后习题9.8 (Java代码)浏览:1640 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:612 |
简单的a+b (C语言代码)浏览:529 |
蚂蚁感冒 (C语言代码)浏览:1333 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:672 |
C语言程序设计教程(第三版)课后习题10.1 (C++代码)浏览:502 |
花落 2019-03-20 22:08:31 |
哈哈暴力固然好,但是有技巧更好