B3626求助
  • 板块灌水区
  • 楼主TsukasaYuzaki
  • 当前回复6
  • 已保存回复6
  • 发布时间2022/10/10 23:17
  • 上次更新2023/10/27 07:56:04
查看原帖
B3626求助
592718
TsukasaYuzaki楼主2022/10/10 23:17

RT

写了一个最后一个样例都过不去的程序,AC了???

#include<bits/stdc++.h>
#define int long long
using namespace std;
struct node{
	int x,t;
};
queue<node>q;
int n,ans,vis[3000001];
void bfs(){
	q.push((node){1,0});
	while(!q.empty()){
		node a=q.front();
		q.pop();
		if(a.x<1 || a.x>2*n || vis[a.x]) continue;
		if(a.x==n){
			cout<<a.t;
			exit(0);
		}
		vis[a.x]=1;
		a.t++;
		q.push((node){a.x-1,a.t});
		q.push((node){a.x+1,a.t});
		q.push((node){a.x*2,a.t});
	}
}
signed main(){
	cin>>n;
	bfs();
	return 0;
}

2022/10/10 23:17
加载中...