救命!只有52!
查看原帖
救命!只有52!
619848
guoziyu_2023CSP楼主2024/5/18 22:18

Code:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a,b,ans,k[210];
bool flag[210];
void dfs(int now,int num){ if(now == b){
		ans = min(ans,num); return ;
	} if(now + k[now] <= b && 
		flag[now + k[now]] == 0){
		flag[now + k[now]] = 1;
		dfs(now + k[now],num + 1);
		flag[now + k[now]] = 0;
	} if(now - k[now] >= 0 && 
	    flag[now - k[now]] == 0){
		flag[now - k[now]] = 1;
		dfs(now - k[now],num + 1);
		flag[now - k[now]] = 0;
	} return ;
} signed main(){ ans = 1e9;
//	freopen("elevator.in","r",stdin);
//	freopen("elevator.out","w",stdout);
	cin >> n >> a >> b;
	for(int i = 1;i <= n;i++) cin >> k[i];
	flag[a] = 1; dfs(a,0); 
	if(ans == 1e9){
		cout << "-1";
	}else cout << ans;
	return 0;
}

机房模拟赛写的,交上去90,在锣鼓只有52?!?!(应该庆幸没被卡分吗?)

咋回事啊,求调……

2024/5/18 22:18
加载中...