1. 程式人生 > >回朔——關於產生01陣列

回朔——關於產生01陣列

                                                                              回朔——關於產生01隨即陣列    

   例如在長度為N的陣列中填入0或者1有多少種填法,答案是2^n;怎麼列舉出來?

        

建議這是用深度優先遍歷,耗費的資源時間比較大,測試用例不要太大

#include<stdio.h>
#include<iostream>
using namespace std;
void dfs(int N);
int s;int a[100];
int main(void){
	int n;
	cin>>n;
	s=n;
	dfs(n);
	return 0;
}
void dfs(int N){
	if(N==0){
		for(int i=0;i<s;i++)
		cout<<a[i];
		cout<<endl;
		return ;
	}
	a[N-1]=1;
	dfs(N-1);
	a[N-1]=0;
	dfs(N-1);
}