调用库问题&&警醒后人
查看原帖
调用库问题&&警醒后人
1260548
StevenYan楼主2025/1/3 12:00

蓝的盆的是
一边写对的基础广搜
使用了 memset ,没有加
但是我的dev5.15可以正常run
提交却CE,查了又查发现是调用库的问题QwQ
iostream并不包括memset(在洛谷的测评环境中)

最难绷的一集
建议后人在比赛中确保变量定义不被定义的前提下直接使用万能头
不能确定编译环境和测评环境的统一,就会导致以上惨案(喜欢我NOI赛制吗

#include <iostream>
#include <queue>
#include <cstring>
using namespace std;
queue<int> q;
int n, a, b;



int k[210] = {0}, vis[210] = {0};

int main() {
#ifndef ONLINE_JUDGE
	freopen("in.txt", "r", stdin);
#endif
	memset(vis, -1, sizeof(vis));
	cin >> n >> a >> b;
	for (int i = 1; i <= n; i++)
		cin >> k[i];
	q.push(a);
	vis[a] = 0;
	while (!q.empty()) {
		int tmp = q.front();
		q.pop();
		if (tmp - k[tmp] > 0 && vis[tmp - k[tmp]] == -1) {
			vis[tmp - k[tmp]] = vis[tmp] + 1;
			q.push(tmp - k[tmp]);
		}
		if (tmp + k[tmp] <= n && vis[tmp + k[tmp]] == -1) {
			vis[tmp + k[tmp]] = vis[tmp] + 1;
			q.push(tmp + k[tmp]);
		}
	}
	cout << vis[b];
	return 0;
}
2025/1/3 12:00
加载中...