不保证是题解
2024-06-08 10:42:42
发布于:上海
28阅读
0回复
0点赞
#include<iostream>
#include<queue>
using namespace std;
using ll = int;
using FLOAT = bool;
FLOAT vis[100001];
ll n,k,a[3]{1,-1};
void bfs(){
queue<ll>q,t;
q.push(n);t.push(0);
while(!q.empty()){
a[2] = q.front();
for(int i{0};i < 3;i++){
if(q.back()==k)cout << t.back(),exit(0);
if(a[2]+a[i] >= 0 && a[2]+a[i] <= 100000 && !vis[a[2]+a[i]]){
q.push(a[2]+a[i]);t.push(t.front()+1);
vis[q.back()] = true;
}
}
q.pop();t.pop();
}
return;
}
int main(){
cin >> n >> k;
bfs();
return 0;
}
全部评论 1
赞了,但是不保证赞了
2024-06-08 来自 上海
1
有帮助,赞一个