递归方法产生格雷码
2016-03-26 20:41
225 查看
#include<cstdio> #include<iostream> #include<cstring> using namespace std ; const int maxn = 110 ; int n ; int a[maxn] ; void show(){ for(int i = 1;i <= n;i++){ printf("%d%c" , a[i] , i == n ?'\n':' ') ; } } void dfs(int pos){ if(pos == 0){ show() ; return ; } dfs(pos-1) ; a[pos] = !a[pos] ; dfs(pos-1) ; } int main(){ while(~scanf("%d" , &n)){ memset(a , 0 , sizeof(a)) ; dfs(n) ; } }
相关文章推荐
- 听VOA还不如学这些
- 淘宝技术这十年概要
- ASP.NET MVC 3 使用 Razor 如何在 Web.config 宣告預設的 Namespaces
- 具有相同元素的排列组合模板
- hdoj--A Heavy Rainy Day(贪心好题)
- corodva Refused to load the font——拒绝加载字体
- Python中zipfile模块最最最最简单的例子
- 浙江科技学院第十三届程序设计竞赛 1007:幸福指数【水】
- 欢迎使用CSDN-markdown编辑器
- 约瑟夫环
- 数组系列练习二
- 数据的特性与关系
- MFC之CSerialPort类双串口发送接收
- 数据字典
- 浙江科技学院第十三届程序设计竞赛 1001:Let's go to play【细心】
- 第四周项目5--用递归方法求解(3)
- MySQL存储引擎--InnoDB
- 消隐
- bzoj4244 邮戳拉力赛 动态规划
- 关联引用的使用方法