求教!刚开始学dfs,知道这是斐波拉契数列,求大佬们看看我的思路能不能行
  • 板块P1255 数楼梯
  • 楼主ZJdog
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/3/31 09:53
  • 上次更新2024/3/31 10:44:01
查看原帖
求教!刚开始学dfs,知道这是斐波拉契数列,求大佬们看看我的思路能不能行
1282382
ZJdog楼主2024/3/31 09:53
#include<bits/stdc++.h>
using namespace std;
const int N=5000;

int n,sum=0,cou=0;
int st[N];

void dfs(int x){
    if(x>n){
        for(int i=1;i<=n;i++){
            sum+=st[i];
        }
        if(sum==n)
            cou++;
        return;
    }
    st[x]=1;
    dfs(x+1);
    st[x]=0;
    st[x]=2;
    dfs(x+1);
    st[x]=0;
}

int main(){
    scanf("%d",&n);
    dfs(1);
    printf("%d",cou);
    return 0;
}
2024/3/31 09:53
加载中...