求助!
查看原帖
求助!
1287452
hanshengyuan2024楼主2024/3/31 10:18

My Code:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
int l, n, m;
// l:河的宽度
// n:石头的数量
// m:走的最大距离 
int a[505];
int minn = 2147483647;
void dfs(int x, int step) {
	// x:当前走到了第x块石墩
	// step:当前走的步数 
	if (a[x] == l) {
		if (step < minn) minn = step;
		return;
	}
	for (int i = x; i <= n; ++i) {
		if (m >= a[i] - x) {
			dfs(x + i, step + 1);
			return;
		}
	}
}
int main() {
//	freopen("xxx.in", "r", stdin);
//	freopen("xxx.out", "w", stdout);
	cin >> l >> n >> m;
	for (int i = 1; i <= n; ++i)
		cin >> a[i];
	dfs(0, 0);
	cout << minn;
	return 0;
}

求调。在线等,玄4\sqrt{4}关。

2024/3/31 10:18
加载中...