生活随笔
收集整理的這篇文章主要介紹了
【深搜】01串
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
01串
Description
用n個0和n個1排成一個2n位的二進(jìn)制數(shù),要求從最高位起到任意一位,0的個數(shù)不能少于1的個數(shù)。編程求出所有符合條件的2n位二進(jìn)制數(shù)。
如n=3時,符合條件的共有5個:
000111
001011
001101
010011
010101
你的任務(wù)是輸入一個數(shù)N(N<=15)輸出符合條件的2N位二進(jìn)數(shù)的個數(shù)。
Sample Input
3
Sample Output
5
符合條件的數(shù)是
000111
001011
001101
010011
010101
思路:
用深搜枚舉填法,符合條件時記錄
#include<cstdio>
#include<iostream>
using namespace std
;
int n
,n1
,n0
,z
;
void js(int x
)
{if (x
>n
*2){z
++;return;}if (n0
<n
){n0
++;js(x
+1);n0
--;}if (n0
>n1
){n1
++;js(x
+1);n1
--;}
}int main()
{scanf("%d",&n
);js(1);printf("%d",z
);
}
總結(jié)
以上是生活随笔為你收集整理的【深搜】01串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。