求几个数的组合数 容斥原理
2012-08-03 11:08
148 查看
准备做一些容斥原理的题目,其中容斥原理要求一个数的因子的任意组合。比如 30 = 2 * 3 * 5,则需要求出(2),(3),(5),(2,3),(2,5),(3,5),(2,3,5)这些组合,可以用dfs实现,写了一个,留下来作个模板。
代码:
代码:
#include <iostream> #include <cstdio> #include <string.h> using namespace std; #define CLR(arr,val) memset(arr,val,sizeof(arr)) int num[4]={2,3,5,7}; int linnum[4]; int flag[4]; void dfs(int id,int begin,int cnt){ if(id == cnt){ for(int i = 0;i < 4;++i) printf("%d ",linnum[i]); printf("\n"); return; } for(int i = begin;i < 4; ++i){ if(!flag[i]){ flag[i] = true; linnum[id] = num[i]; dfs(id+1,i,cnt); flag[i] = false; } } } int main(){ for(int i = 1;i <= 4;++i){ CLR(flag,0); CLR(linnum,0); dfs(0,0,i); printf("ss\n"); } return 0; }
相关文章推荐
- TJU 4087组合数打表快速幂容斥原理
- UVA 11806 Cheerleaders(容斥原理)(组合数)
- 容斥原理的几个问题总结
- HDU 4675GCD of Sequence(大组合数取模 容斥原理 组合数学)
- UVA 11806 Cheerleaders(容斥原理 + 组合数)
- 从给的一些数中任意选出几个数相乘(组合数),求出所有和
- Java+Oracle应用开发的几个经典问题
- spring - quartz 需要增加的几个jar
- 将一个自然数分解成几个连续自然数之和
- 搞不清楚csdn iteyes cnblogs 这几个技术博客之间的关系了
- iPhone不如安卓的几个地方
- 几个 PHP 的“魔术常量”
- 几个有用的资源
- windows bat批处理中常用的几个命令
- Web网站的几个并发量级
- 我在写博客过程中犯过的几个错误
- C++拷贝构造函数的几个细节
- 3、可执行文件ELF && 几个重要的编译
- C#点滴--几个基本概念
- 分布式系统的心跳机制设计中的几个要点及问题