灯光问题

#include <bits/stdc++.h>

using namespace std;

int a[31]={0};
int sum=0;

void dfs(int cur)
{
    if(a[cur-1]==0)
    {
        a[cur]=1;
    }
    if(cur==30)
    {
        sum++;
        return;
    }
    else
    {
        if(a[cur]==1)
        {
            dfs(cur+1);
            a[cur]=0;
        }
        dfs(cur+1);
    }
}

int main()
{
    a[0]=1;
    dfs(1);
    a[0]=0;
    dfs(1);
    cout<<sum;
    return 0;
}

 

posted @ 2019-05-23 21:26  -Asurada-  阅读(197)  评论(0编辑  收藏  举报