抽签
来源:互联网 发布:淘宝卖家旺旺设置 编辑:程序博客网 时间:2024/04/28 18:09
X星球要派出一个5人组成的观察团前往W星。
其中:
A国最多可以派出4人。
B国最多可以派出2人。
C国最多可以派出2人。
….
那么最终派往W星的观察团会有多少种国别的不同组合呢?
下面的程序解决了这个问题。
数组a[] 中既是每个国家可以派出的最多的名额。
程序执行结果为:
DEFFF
CEFFF
CDFFF
CDEFF
CCFFF
CCEFF
CCDFF
CCDEF
BEFFF
BDFFF
BDEFF
BCFFF
BCEFF
BCDFF
BCDEF
….
(以下省略,总共101行)
#include <stdio.h>#define N 6#define M 5#define BUF 1024void f(int a[], int k, int m, char b[]){ int i,j; if(k==N){ b[M] = 0; if(m==0) printf("%s\n",b); return; } for(i=0; i<=a[k]; i++){ for(j=0; j<i; j++) b[M-m+j] = k+'A'; ______________________; //填空位置 }}int main(){ int a[N] = {4,2,2,1,1,3}; char b[BUF]; f(a,0,M,b); return 0;}
仔细阅读代码,填写划线部分缺少的内容。
注意:不要填写任何已有内容或说明性文字。
这里大概意思看懂了,用了dfs,知道填空的那个位置大概是去下一层遍历,所以只需要想一想f()这个函数里的参数怎么填就好,k+1是肯定的,不然如何会到这一步(if(k==N)),m肯定是要减少的,不然不会有这一步(if(m==0))。就是这么投机取巧~~。所以一个个带入m-i就成功了~
答案:f(a,k+1,m-i,b);
0 0
- 抽签
- 抽签
- 抽签
- 抽签
- 抽签
- 抽签
- 抽签
- 抽签
- 抽签
- 抽签
- 抽签问题
- 抽签问题
- 抽签问题
- 抽签问题
- 5、抽签
- 抽签(蓝桥杯真题)
- 抽签程序
- 蓝桥杯 抽签
- tensorflow 风格迁移二
- 快速学习javaSE基础1-java概述(了解)
- Splunk 命令学习
- 手把手教你linux下google chrome浏览器root用户无法运行,以及flash插件安装
- 多项式求和
- 抽签
- LabelFlowLayout(流式标签布局)
- org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apac
- CButton 重绘(支持PNG图片作为背景)
- 学习淘淘商城第十课(SSM框架整合之springmvc整合及父子容器的关系)
- Raphael属性学习--基本
- c 通过指针表达运算结果
- KMP算法
- TabHost+Fragment初始化出现奔溃问题