解题思路:
注意事项:
参考代码:
#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语言训练-素数问题 (C语言代码)浏览:1695 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:668 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:632 |
C语言训练-尼科彻斯定理 (C语言代码)浏览:509 |
三角形 (C++代码)记忆化搜索浏览:1317 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:716 |
C语言考试练习题_保留字母 (C语言代码)浏览:743 |
1054题解浏览:516 |
分糖果 (C语言代码)浏览:980 |
1162答案错误,为什么浏览:700 |
花落 2019-03-20 22:08:31 |
哈哈暴力固然好,但是有技巧更好