dfs,几个int为什么爆内存了
查看原帖
dfs,几个int为什么爆内存了
1165228
o_CIHL楼主2024/3/14 11:31
#include<stdio.h>

int ans=-1;
int n,a,b;
int ret=0;
int k[220];

void dfs(int now){
	if(now>n||now<1) return ;
	if(now==b){
		ans=ret;
		return ;
	}
	for(int i=0;i<2;i++){
		if(i){
			ret++;
			dfs(now+k[now]);
			ret--;
		}
		else{
			ret++;
			dfs(now-k[now]);
			ret--;
		}
	}return ;
}

int main(){
	scanf("%d%d%d",&n,&a,&b);
	for(int i=1;i<=n;i++){
		scanf("%d",&k[i]);
	} dfs(a);
	printf("%d",ans);
	return 0;
}
2024/3/14 11:31
加载中...