大连三丰建设集团公司网站,坪山建设网站建站,网站开发推荐书籍,去掉wordpress.org01串
Description
用n个0和n个1排成一个2n位的二进制数,要求从最高位起到任意一位,0的个数不能少于1的个数。编程求出所有符合条件的2n位二进制数。
如n#xff13;时#xff0c;符合条件的共有5个#xff1a;
#xff10;#xff10;#xff10;#xff11;#x…01串
Description
用n个0和n个1排成一个2n位的二进制数,要求从最高位起到任意一位,0的个数不能少于1的个数。编程求出所有符合条件的2n位二进制数。
如n时符合条件的共有5个 你的任务是输入一个数NN15输出符合条件的2N位二进数的个数。
Sample Input
3
Sample Output
5
符合条件的数是 思路
用深搜枚举填法符合条件时记录
#includecstdio
#includeiostream
using namespace std;
int n,n1,n0,z;
void js(int x)
{if (xn*2)//判断是否填完了{z;//记录return;}if (n0n)//判断0还可不可以填{n0;//零的个数加一js(x1);n0--;//回溯}if (n0n1)//判断0的个数是否大于1的个数{n1;//同上js(x1);n1--;}
}int main()
{scanf(%d,n);js(1);printf(%d,z);
}