求助,为什么全部运行错误
  • 板块学术版
  • 楼主Maysoul
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/4/9 16:21
  • 上次更新2023/10/23 18:53:38
查看原帖
求助,为什么全部运行错误
409774
Maysoul楼主2023/4/9 16:21

传送门

rt,本地跑没有问题,数组开到1e6也没有越界的可能 而且也处理了a-1时的越界问题

//2023/4/9
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e6+10;
int num,ans;
bool vis[MAXN];
queue<int> que;
int bfs(int n,int k)
{
	int min=0;
	vis[n]=1;
	que.push(n);
	while(!que.empty())
	{
		int cur=que.size();
		min++;
		while(cur--)
		{
			int a=que.front();
			que.pop();
			if(a==k)
			{
				return min-1;
			}
			if(vis[2*a]==0)
			{
				que.push(2*a);
				vis[2*a]=1;
			}
			if(vis[a+1]==0)
			{
				que.push(a+1);
				vis[a+1]=1;
			}
			if(vis[a-1]==0&&a>=1)
			{
				que.push(a-1);
				vis[a-1]=1;
			}
		}
	}
	return 1;
}
int main()
{
	int n,k;
	cin>>n>>k;
	cout<<bfs(n,k)<<endl;
	return 0;
}

2023/4/9 16:21
加载中...