递归生成格雷码 gray code generation using recursion(c++)
来源:互联网 发布:淘宝网页用html 编辑:程序博客网 时间:2024/05/24 07:08
按序生成n位的全部格雷码
generate n digits gray code in order
#include "iostream"#include "cstring"#include "cstdio"#include "string.h"#include "stack"#include "cmath"using namespace std;int n;char s[1050000][20];//char s[100][20];void gao(int m){ int temp=pow(2,m); for(int i=1;i<=temp;i++) { strcpy(s[2*temp-i+1],s[i]); } for(int i=1;i<=2*temp;i++) { for(int j=m-1;j>=0;j--) { s[i][j+1]=s[i][j]; } }}void dfs(int m){ if(m==1) { s[1][0]='0'; s[2][0]='1'; return; } dfs(m-1); gao(m-1); int temp=pow(2,m-1); for(int i=1;i<=temp;i++) { s[i][0]='0'; } for(int i=temp+1;i<=temp*2;i++) { s[i][0]='1'; }}int main(){ int cas; scanf("%d",&cas); while(cas--) { //n digits scanf("%d",&n); dfs(n); for(int i=1;i<=pow(2,n);i++) { for(int j=0;j<=n-1;j++) { printf("%c",s[i][j]); } printf("\n"); } }}
0 0
- 递归生成格雷码 gray code generation using recursion(c++)
- 递归——生成格雷码(gray code)
- 生成格雷码(Gray Code)
- 格雷码(Gray Code)的生成
- Java 递归实现格雷码(Gray Code)
- **(leetcode_backtracking,递归) Gray Code
- LeetCode 89. Gray Code(生成格雷码)
- Dynamic Code Generation using CodeDOM
- [C++]LeetCode: 86 Gray Code (格雷码)
- [leetcode](Gray Code 格雷码 C语言实现)
- 格雷码(Gray code)简单 c 实现
- 【Leetcode】89. Gray Code 【递归】
- Lisp.使用递归(Using Recursion)
- Gray Code 简介及生成
- leetcode 89. Gray Code 按照index递归解决 + Grey码生成公式
- [LeetCode] 格雷码(Gray Code)
- Gray Code 格雷码 @LeetCode
- Gray Code 格雷码编码
- Android DataBinding 详解
- 蓝桥杯 神奇算式
- 273 Python list
- WebStrom2016.3.3/PhpStrom2016.3.3激活
- windows配置gvim高效率编程(c&c++)带自动补全代码
- 递归生成格雷码 gray code generation using recursion(c++)
- 项目运行Conversion to Dalvik format failed with error
- Linux目录结构
- Web前端-JS效果-网站首页+图片自动播放、切换等效果
- bowtie和bowtie2用法详解
- 非Activity下跳转Activity的问题
- App开放接口api安全性—Token签名sign的设计与实现
- Android VPN 编程
- 剑指Offer系列-面试题35:第一个只出现一次的字符