#1,#9,#10tle求救,来个大佬救救
查看原帖
#1,#9,#10tle求救,来个大佬救救
988957
code_1237楼主2023/7/4 16:27
int n, a, b;
int c[202] = { 0 };//当前电梯可以移动的
int v[202] = { 0 };
int miin = -1;//记录最小
int len = 0;


void wdy(int now) {
	v[now] = 1;
	
	if (now == b) {
		if (len < miin || miin < 0) {
			miin = len;
			
		}
		//回溯
		len--;
		v[now] = 0;
		return;
	}

	

	//shang
		if (now + c[now] <= n) {
			if (v[now + c[now]] == 0) {
				len++;
				wdy(now + c[now]);
			
			}
		}
	//xia
		if (now - c[now] > 0) {
			if (v[now - c[now]] == 0) {
				len++;
				wdy(now - c[now]);
			}
		}
		//回溯
		len--;
		v[now] = 0;

	}
int main(){
	
	cin >> n >> a >> b;
	for (int i = 1; i <= n; i++) {
		cin >> c[i];
	}
	wdy(a);
	cout << miin;
	return 0;
}
2023/7/4 16:27
加载中...